Sunteți pe pagina 1din 54

HR SOLUTION

SIX WEEK INDUSTRIAL TRAINING REPORT


at
Aptech, Ranchi
Submitted in Partial fulfilment of the requirements for the award of degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
Submitted By:
Kunal Kumar
Roll no-

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

BHAI GURDAS INSTITUTE OF ENGINEERING &


TECHNOLOGY , SANGRUR
June-July 2014

ACKNOWLEDGEMENT

HR SOLUTION
I am highly grateful to the Mrs. Amandeep Kaur Randhawa, HOD CSE, Bhai Gurdas
Institute of Engineering & Technology , Sangrur, for providing this opportunity to carry
out the six weeks industrial training at Aptech,Ranchi .I would like to expresses my
gratitude to other faculty members of Computer Science & Engineering department of
BGIET, Sangrur for providing academic inputs, guidance & encouragement throughout the
training period.I would like to express a deep sense of gratitude and thank to Mr. Manish
Bhatiya Director/CEO of Company, without whose permission, wise counsel and able
guidance, it would have not been possible to pursue my training in this manner.The
help rendered by Mr/Ms Satish kaushik, Supervisor (Mr. Manish Bhatiya) for
experimentation is greatly acknowledged.Finally, I express my indebtedness to all who have
directly or indirectly contributed to the successful completion of my industrial training.
Kunal Kumar

1
2

INTRODUCTION

ACKNOWLEDGEMENT

2
2|Page

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

TABLE OF CONTENT

INTRODUCTION TO JAVA

4 - 11

INTRODUCTION TO J2EE &


J2SE
INTRODUCTION TO HTML

12 - 17

SOFTWARE USED IN HR
SOLUTION
DESCRIPTION OF HR
SOLUTION
BIBLIOGRAPHY

25 - 46

6
7
8
9

18 - 24

47 - 52
53

Chapter 1
Introduction to JAVA
JAVA
Java technology is both a programming language and a platform.
3|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

The Java Programming Language:


The Java programming language is a high-level language that can be characterized by all of
the following buzzwords:

Simple
Object oriented
Distributed
Multithreaded
Dynamic

Architecture neutral
Portable
High performance
Robust
Secure

Each of the preceding buzzwords is explained in The Java Language Environment, a white
paper written by James Gosling and Henry McGilton. In the Java programming language, all
source code is first written in plain text files ending with the .java extension. Those source
files are then compiled into .class files by the javac compiler. A .class file does not contain
code that is native to your processor; it instead contains byte codes the machine language
of the Java Virtual Machine1 (JVM). The java launcher tool then runs your application with
an instance of the Java Virtual Machine.

The Java Platform


A platform is the hardware or software environment in which a program runs. We've already
mentioned some of the most popular platforms like Microsoft Windows, Linux, Solaris OS,
and Mac OS. Most platforms can be described as a combination of the operating system and
underlying hardware. The Java platform differs from most other platforms in that it's a
software-only platform that runs on top of other hardware-based platforms.
The Java platform has two components:

The Java Virtual Machine

The Java Application Programming Interface (API)

4|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
The general-purpose, high-level Java programming language is a powerful software platform.
Every full implementation of the Java platform gives you the following features:

Development Tools: The development tools provide everything you'll need for
compiling, running, monitoring, debugging, and documenting your applications. As a
new developer, the main tools you'll be using are the javac compiler, the java
launcher, and the javadoc documentation tool.

Application Programming Interface (API): The API provides the core functionality
of the Java programming language. It offers a wide array of useful classes ready for
use in your own applications. It spans everything from basic objects, to networking
and security, to XML generation and database access, and more. The core API is very
large; to get an overview of what it contains.

Deployment Technologies: The JDK software provides standard mechanisms such as


the Java Web Start software and Java Plug-In software for deploying your
applications to end users.

User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create
sophisticated Graphical User Interfaces (GUIs).

Integration Libraries: Integration libraries such as the Java IDL API,


Naming and Directory Interface

TM

TM

API, Java

("J.N.D.I.") API, Java RMI, and Java Remote

Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP


Technology) enable database access and manipulation of remote objects.

Why Java's a Better Programming Language?


If that were all Java was, it would still be more interesting than a <marquee> or <frame> tag
in some new browser beta, but there's a lot more. Java isn't just for web sites. Java is a
programming language that can do almost anything a traditional programming language like
FORTRAN, Basic or C++ can do. However Java has learned from the mistakes of its
predecessors. It is considerably easier to program and to learn than those languages without
giving up any of their power.

5|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
The Java language shares many superficial similarities with C, C++, and Objective C. For
instance, loops have identical syntax in all four languages, However, Java is not based on any
of these languages, nor have efforts been made to make it compatible with them.
Java is sometimes referred to as C++. James Gosling invented Java because C++ proved
inadequate for certain tasks. Since Java's designers were not burdened with compatibility
with existing languages, they were able to learn from the experience and mistakes of previous
object-oriented languages. They added a few things C++ doesn't have like garbage collection
and multithreading (the ++) and they threw away C++ features that had proven to be better in
theory than in practice like multiple inheritance and operator overloading (the --). A few
advanced features like closures and parameterized types that the Java team liked were
nonetheless left out of the language due to time constraints. There's still argument over
whether the right choices were made. Parameterized types (templates to C++ programmers)
may be added in a later revision of Java. Java has learned a lot from previous languages. Let's
look at some of the advantages Java offers programmers.

Java is Simple
Java was designed to make it much easier to write bug free code. According to Sun's Bill Joy,
shipping C code has, on average, one bug per 55 lines of code. The most important part of
helping programmers write bug-free code is keeping the language simple.
Java has the bare bones functionality needed to implement its rich feature set. It does not add
lots of syntactic sugar or unnecessary features. The language specification for Java is only
about eighty pages long compared to a couple of hundred pages for C and even more for C+
+. Despite its simplicity Java has considerably more functionality than C.
Because Java is simple, it is easy to read and write. Obfuscated Java isn't nearly as common
as obfuscated C. There aren't a lot of special cases or tricks that will confuse beginners.
About half of the bugs in C and C++ programs are related to memory allocation and
deallocation. Therefore the second important addition Java makes to providing bug-free code
is automatic memory allocation and de allocation. The C library memory allocation functions
malloc() and free() are gone as are C++'s destructors.
Java is an excellent teaching language, and an excellent choice with which to learn
programming. The language is small so it's easy to become fluent in it. The language is
interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is eliminated
6|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
entirely.) The runtime environment provides automatic memory allocation and garbage
collection so there's less for the programmer to think about. Java is object-oriented (unlike
Basic) so the beginning programmer doesn't have to unlearn bad programming habits when
moving into real world projects. Finally, it's very difficult (if not quite impossible) to write a
Java program that will crash your system, something that you can't say about any other
language.

Java is Object-Oriented
Object oriented programming was the catch phrase of computer programming in the 1990's.
Although object oriented programming has been around in one form or another since the
Simula language was invented in the 1960's, it really took hold in modern GUI environments
like Windows, Motif and the Mac. In object-oriented programs data is represented by objects.
Objects have two sections, fields (instance variables) and methods. Fields tell you what an
object is. Methods tell you what an object does. These fields and methods are closely tied to
the object's real world characteristics and behavior. When a program runs messages are
passed back and forth between objects. When an object receives a message, it responds
accordingly as defined by its methods.
Object oriented programming is alleged to have a number of advantages including:

Simpler, easier to read programs

More efficient reuse of code

Faster time to market

More robust, error-free code

In practice object-oriented programs have been just as slow, expensive and buggy as
traditional non-object-oriented programs. In large part this is because the most popular
object-oriented language is C++. C++ is a complex, difficult language that shares all the
obfuscation of C while sharing none of C's efficiencies. It is possible in practice to write
clean, easy-to-read Java code. In C++ this is almost unheard of outside of programming
textbooks.

Java is Platform Independent


7|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Java was designed to not only be cross-platform in source form like C, but also in compiled
binary form. Since this is frankly impossible across processor architectures, Java is compiled
to an intermediate form called byte-code.
A Java program never really executes natively on the host machine. Rather a special native
program called the Java interpreter reads the byte code and executes the corresponding native
machine instructions. Thus to port Java programs to a new platform, all you need to do is run
it with an interpreter written for the new platform. You don't even need to recompile. Even
the compiler is written in Java. The byte codes are precisely defined, and remain the same on
all platforms.
The second important part of Java's cross-platform savvy is the elimination of undefined and
architecture dependent constructs. Integers are always four bytes long, and floating point
variables follow the IEEE 754 standard for computer arithmetic exactly. You don't have to
worry that the meaning of an integer is going to change if you move from a Pentium to a
PowerPC. In Java everything is guaranteed.
However the virtual machine itself and some parts of the class library must be written in
native code. These are not always as easy or as quick to port as pure Java programs. This is
why for example, there's not yet a version of Java 1.2 for the Mac.

Java is Safe
Java was designed from the ground up to allow for secure execution of code across a
network, even when the source of that code was untrusted and possibly malicious.
This required the elimination of many features of C and C++. Most notably there are no
pointers in Java. Java programs cannot access arbitrary addresses in memory. All memory
access is handled behind the scenes by the (presumably) trusted runtime environment.
Furthermore Java has strong typing. Variables must be declared, and variables do not change
types when you aren't looking. Casts are strictly limited to casts between types that make
sense. Thus you can cast an int to a long or a byte to a short but not a long to a Boolean or
an int to a String.

8|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Java implements a robust exception handling mechanism to deal with both expected and
unexpected errors. The worst that a Java program can do to a host system is bringing down
the runtime environment. It cannot bring down the entire system.
Most importantly Java applets can be executed in an environment that prohibits them from
introducing viruses, deleting or modifying files, or otherwise destroying data and crashing the
host computer. A Java enabled web browser checks the byte codes of an applet to verify that
it doesn't do anything nasty before it will run the applet.
However the biggest security problem is not hackers. It's not viruses. It's not Visual Basic
worms transmitted by Outlook Express. It's not even insiders erasing their hard drives and
quitting your company to go to work for your competitors. No, the biggest security issue in
computing today is bugs. Regular, ordinary, non-malicious, unintended bugs are responsible
for more data loss and lost productivity than all other factors combined. Java, by making it
easier to write bug-free code, substantially improves the security of all kinds of programs.

Java is High Performance


Java byte codes can be compiled on the fly to code that rivals C++ in speed using a "just-intime compiler." Several companies are also working on native-machine-architecture
compilers for Java. These will produce executable code that does not require a separate
interpreter, and that is indistinguishable in speed from C++. While you'll never get that last
ounce of speed out of a Java program that you might be able to wring from C or FORTRAN,
the results will be suitable for all but the most demanding applications.
As of May, 1999, the fastest VM, IBM's Java 1.1 VM for Windows, is very close to C++ on
CPU-intensive operations that don't involve a lot of disk I/O or GUI work; C++ is itself only
a few percent slower than C or FORTRAN on CPU intensive operations.
It is certainly possible to write large programs in Java. The Hot Java web browser, the
JBuilder integrated development environment and the javac compiler are large programs that
are written entirely in Java.

Java is Multi-Threaded

9|Page
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Java is inherently multi-threaded. A single Java program can have many different processes
executing independently and continuously. Three Java applets on the same page can run
simultaneously with each getting equal time from the CPU with very little extra effort on the
part of the programmer. This makes Java incredibly responsive to user input. It also helps to
contribute to Java's robustness and provides a mechanism whereby the Java environment can
ensure that a malicious applet doesn't steal all of the host's CPU cycles.Unfortunately
multithreading is so tightly integrated with Java, that it makes Java rather difficult to port to
architectures like Windows 3.1 or the PowerMac that don't natively support preemptive
multi-threading.
There is another cost associated with multi-threading. Multi-threading is to Java what pointer
arithmetic is to C; that is, a source of devilishly hard to find bugs. Nonetheless, in simple
programs it's possible to leave multi-threading alone and normally be OK.

Java is Dynamic (by linked):


Java does not have an explicit link phase. Java source code is divided into .java files, roughly
one per each class in your program. The compiler compiles these into .class files containing
byte code. Each .java file generally produces exactly one .class file. (There are a few
exceptions we'll discuss later, non-public classes and inner classes).
The compiler searches the current directory and a few other well specified places to find
other classes explicitly referenced by name in each source code file. If the file you're
compiling depends on other, non-compiled files, then the compiler will try to find them and
compile them as well. The Java compiler is quite smart, and can handle circular dependencies
as well as methods that are used before they're declared. It also can determine whether a
source code file has changed since the last time it was compiled.
More importantly, classes that were unknown to a program when it was compiled can still be
loaded into it at runtime. For example, a web browser can load applets of differing classes
that it's never seen before without recompilation.
Furthermore, Java .class files tend to be quite small, a few kilobytes at most. It is not
necessary to link in large runtime libraries to produce an executable. Instead the necessary
classes are loaded from the user's local system.

10 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Java is Garbage Collected:


You do not need to explicitly allocate or deal locate memory in Java. Memory is allocated as
needed, both on the stack and the heap, and reclaimed by the garbage collector when it is no
longer needed. There are no malloc (), free (), or destructor methods. There are constructors
and these do allocate memory on the heap, but this is transparent to the programmer.
Most Java virtual machines use an inefficient, mark and sweep garbage collector. Some more
recent virtual machines have improved matters quite a bit by using generational garbage
collection.
To sum up, Java is a safe, robust, garbage-collected, object-oriented, high-performance,
multi-threaded,

interpreted,

architecture-neutral,

cross-platform,

buzzword-compliant

programming language.

Chapter 2
Introduction to J2EE
This article, the first in a series, will introduce J2EE and present an overview of what it is and
what it can do. In addition to this, we'll also take a look at how to get started with J2EE by
presenting the steps necessary to download, install and start developing J2EE applications.
Future articles will subsequently take a look at some of the core J2EE technologies such as
Java Servlets, JavaServer Pages (JSP), Enterprise JavaBeans (EJB) and the Java Message
11 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Service (JMS). Following on from this, we'll move on to take a look at J2EE from an
architecture and design perspective, covering topics like best practices and design patterns.

What is J2EE?
Using the Java 2 Platform, Standard Edition (J2SE) as a basis, Java 2 Platform, Enterprise
Edition (J2EE) builds on top of this to provide the types of services that are necessary to
build large scale, distributed, component based, multi-tier applications. Essentially, J2EE is a
collection of APIs that can be used to build such systems, although this is only half of the
picture. J2EE is also a standard for building and deploying enterprise applications, held
together by the specifications of the APIs that it defines and the services that J2EE provides.
In other words, this means that the "write once, run anywhere" promises of Java apply for
enterprise applications too:

Enterprise applications can be run on different platforms supporting the Java 2


platform.

Enterprise applications are portable between application servers supporting the J2EE
specification.

What does J2EE comprise?


J2EE is comprised of many APIs that can be used to build enterprise applications. Although
the total list of APIs initially seems overwhelming, it is worth bearing in mind that some are
primarily used by the J2EE environment in which your application executes, while some
provide services that your specific application may not require. Therefore, it is worth
remembering that you don't have to use all of them in order to build J2EE applications. For
completeness, however, the full list of technologies that make up J2EE is as follows:

Java Servlets

JavaServer Pages (JSP)

Enterprise JavaBeans (EJB)

Java Message Service (JMS)

Java Naming and Directory Interface (JNDI)


12 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Java Database Connectivity (JDBC)

JavaMail

Java Transaction Service (JTS)

Java Transaction API (JTA)

J2EE Connector Architecture (J2EE-CA, or JCA)

From a developer perspective, the main technologies are EJB, JSP, Java Servlets, JDBC and
JMS, although JNDI is used for locating EJBs and other enterprise resources. For the
moment, let's take a quick look at some of these technologies before moving on to see how to
get started with J2EE.

What are Java Servlets?


At a high level, Java Servlets are the Java equivalent of CGI scripts that can be used to
perform processing and the servicing of client requests on a web server. From an
implementation perspective, servlets are simply Java classes that implement a predefined
interface. One use for servlets is that they can be used to dynamically generate content for
presentation to the user, and this is achieved by embedding markup language (e.g. HTML)
inside the Java code. As Servlets are written in Java, they have access to the rich library of
features provided by Java, including access to databases and other enterprise resources such
as EJB.

What are JavaServer Pages (JSP)?


JSP is another technology for presenting information to the user over the web and uses a
paradigm where Java code is embedded into the HTML - the opposite of servlets, and much
like Microsoft ASP. Pages are written as HTML files with embedded Java source code known
as scriptlets.
One of the pitfalls in using JSP is that it is very easy to build large pages containing lots of
embedded Java code and business logic. For this reason, JSPs provide easy integration with
JavaBeans and another feature called JSP tag extensions. These custom tags (also known as
custom actions) allow re-usable functionality to be encapsulated into XML-like tags that can
be easily used on the pages by both page developers and designers.
13 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

What are Enterprise JavaBeans?


EJB is a major part of the J2EE specification and defines a model for building server-side,
reusable components. There are three types of enterprise beans currently supported by J2EE session beans, entity beans and message-driven beans.
Session beans can be seen as extensions to the client application and are typically used to
model business processes. There are two types of session bean - stateful and stateless.
Stateful session beans are typically used to record conversational state for a single client
between requests, whereas stateless session beans are shared between any number of clients
at any one time.
Entity beans are typically used to model persistent business entities and, in particular, data in
a database. A common mapping is to model an entity bean on a table, there being one
instance of that bean for every row in the table. There are two ways that persistence can be
achieved - container managed and bean managed persistence. In container managed
persistence, a mapping is defined at deployment time between the persistent properties in the
bean and the columns in the table. With bean managed persistence, developers write the
JDBC code that performs the create, read, update and delete operations.
Finally, message-driven beans allow functionality to be executed on an asynchronous basis,
typically triggered by JMS messages from message-oriented middleware.

What is the Java Message Service (JMS)?


JMS is Java API that presents an interface into message-oriented middleware such as IBM
MQSeries, SonicMQ and so on. Like JDBC, JMS provides Java applications a mechanism to
integrate with such systems by presenting a common programming interface irrespective of
the underlying messaging system. Functionally, JMS allows messages to be sent and received
using a point-to-point or publish/subscribe paradigm.

The steps to running a J2EE application - build, package and deployment


There are several steps involved with building and running a J2EE application. The first step
is to build it. J2EE is now supported by many tools (both commercial and open source) and
these can certainly be useful in removing some of the complexity involved during the
development process.
Once you have built your application, the next step is to package it up. Here, the type of
J2EE component you have used will determine how you package up your application. At a
14 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
high level though, this is really just a matter of bundling up all of your components and
classes into an archive (for example JAR) file. In addition to your compiled code, some of the
characteristics associated with certain components need to be configured using deployment
descriptors. These are simply XML files that describe the way that the component will
behave when running within the J2EE environment.
The final step in the process is called deployment. Since J2EE is, in essence, a collection of
APIs and specifications, it is necessary to install an application server - the software that
implements these specifications and provides the services that your J2EE components rely
upon to run.

Where do I get an application server from?


There are many commercial application servers available on the market, including BEA
WebLogic, IBM Websphere, Oracle 9i Application Server and so on. There are also some
excellent open source implementations available such as JBoss. Finally, for non-commercial
uses, the J2EE development kit is available free of charge. This is Sun Microsystems'
reference implementation of the J2EE specifications, meant specifically for the development,
testing and non-commercial deployment of J2EE applications.

How do I get started with J2EE?


Step 1 : Install the JDK
The first thing that you'll need to get started with J2EE is the regular Java Development Kit
(JDK). Ideally, you should try to get the latest version that you can to ensure the best
compatibility and absence of bugs. Currently, this is version 1.4.1 and is available to
download from the J2SE downloads page.
Step 2 : Install the J2EE SDK
Next you'll need an application server so that you can run your J2EE applications. The J2EE
development kit (J2EE SDK) which is currently at version 1.3.1 can be downloaded fromthe
J2EE downloads page.
Step 3 : Start the J2EE server
For the purposes of illustrating how to start up the J2EE server, let's assume that you're using
a Microsoft Windows platform and have installed the JDK into c:\j2sdk1.4.1, and the J2EE
15 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
SDK into c:\j2sdkee1.3.1. To start the J2EE server, open up command window and type the
following:

set JAVA_HOME=c:\j2sdk1.4.1

set J2EE_HOME=c:\j2sdkee1.3.1

cd %J2EE_HOME%\bin

j2ee -verbose

After a short delay and a few messages, you should see "J2EE server startup complete".
Step 4 : Start the J2EE deployment tool
Now that the J2EE server is up and running, the next thing to do is to start the deployment
tool. Once you have built a J2EE application, this is the tool that you use to deploy it into the
J2EE server. To run the deployment tool, open up another command window and type the
following:

set JAVA_HOME=c:\j2sdk1.4.1

set J2EE_HOME=c:\j2sdkee1.3.1

cd %J2EE_HOME%\bin

deploytool

After a short delay you should see a splash screen followed shortly afterwards by the main
application window.
Step 5 : Test the installation
A useful, final step that we can perform is to test that everything is working correctly by
pointing a web browser to http://localhost:8000/index.html. If successful, you'll see the J2EE
server home page indicating that everything is working okay. At this stage you're now ready
to start building and running J2EE applications.

16 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Chapter 3
Introduction to Languages used
HTML
What is HTML?
H-T-M-L are initials that stand for HyperText Markup Language (computer people love
initials and acronyms -- you'll be talking acronyms ASAP). Let me break it down for you:
17 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Hyper is the opposite of linear. It used to be that computer programs had to move in a linear
fashion. This before this, this before this, and so on. HTML does not hold to that pattern and
allows the person viewing the World Wide Web page to go anywhere, any time they want.
Text is what you will use. Real, honest to goodness English letters.
Mark up is what you will do. You will write in plain English and then mark up what you
wrote. More to come on that in the next Primer.
Language because they needed something that started with "L" to finish HTML and
Hypertext Markup Louie didn't flow correctly. Because it's a language, really -- but the
language is plain English.
Basically an HTML document is a plain text file that contains text and nothing else.
When a browser opens an HTML file, the browser will look for HTML codes in the text and
use them to change the layout, insert images, or create links to other pages.
Since HTML documents are just text files they can be written in even the simplest text editor.
A more popular choice is to use a special HTML editor - maybe even one that puts focus on
the visual result rather than the codes - a so-called WYSIWYG editor ("What You See Is
What You Get").
Some of the most popular HTML editors, such as FrontPage or Dreamweaver will letyou
create pages more or less as you write documents in Word or whatever text editor you're
using.

CSS
A CSS (cascading style sheet) file allows you to separate your web sites (X)HTML content
from its style. As always you use your (X)HTML file to arrange the content, but all of the
presentation (fonts, colors, background, borders, text formatting, link effects & so on) are
accomplished within a CSS.
At this point you have some choices of how to use the CSS, either internally or externally.

Internal Stylesheet

18 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
First we will explore the internal method. This way you are simply placing the CSS code
within the <head></head> tags of each (X)HTML file you want to style with the CSS. The
format for this is shown in the example below.
<head>
<title><title>
<style type=text/css>
CSS Content Goes Here
</style>
</head>
With this method each (X)HTML file contains the CSS code needed to style the page.
Meaning that any changes you want to make to one page, will have to be made to all. This
method can be good if you need to style only one page, or if you want different pages to have
varying styles.

External Stylesheet
Next we will explore the external method. An external CSS file can be created with any text
or HTML editor such as Notepad or Dreamweaver. A CSS file contains no (X)HTML,
only CSS. You simply save it with the .css file extension. You can link to the file externally
by placing one of the following links in the head section of every (X)HTML file you want to
style with the CSS file.
<link rel=stylesheet type=text/css href=Path To stylesheet.css />
Or you can also use the @import method as shown below
<style type=text/css>@import url(Path To stylesheet.css)</style>
Either of these methods are achieved by placing one or the other in the head section as shown
in example below.
<head>
<title><title>
<link rel=stylesheet type=text/csshref=style.css />
</head>
<body>
or
19 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

<head>
<title><title>
<style type=text/css> @import url(Path To stylesheet.css) </style>
</head>
<body>
By using an external style sheet, all of your (X)HTML files link to one CSS file in order to
style the pages. This means, that if you need to alter the design of all your pages, you only
need to edit one .css file to make global changes to your entire website.
Here are a few reasons this is better.
Easier Maintenance
Reduced File Size
Reduced Bandwidth
Improved Flexibility
Are you getting the idea? Its really cool.

Cascading Order
In the previous paragraphs, I have explained how to link to a css file either internally or
externally. If you understood, than I am doing a good job. If not dont fret, there is a long way
to go before we are finished. Assuming you have caught on already, you are probably asking,
well can I do both? The answer is yes. You can have both internal, external, and now wait a
minute a third way? Yes inline styles also.

Inline Styles
I have not mentioned them until now because in a way they defeat the purpose of using CSS
in the first place. Inline styles are defined right in the (X)HTML file along side the element
you want to style. See example below.
<p style=color: #ff0000;>Some red text</p>
Some red text
Inline styles will NOT allow the user to change styles of elements or text formatted this way.
20 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

JAVASCRIPT
JavaScript is most commonly used as a client side scripting language. This means that
JavaScript code is written into an HTML page. When a user requests an HTML page with
JavaScript in it, the script is sent to the browser and it's up to the browser to do something
with it.
The fact that the script is in the HTML page means that your scripts can be seen and copied
by whoever views your page. Nonetheless, to my mind this openness is a great advantage,
because the flip side is that you can view, study and use any JavaScript you encounter on the
WWW.
JavaScript can be used in other contexts than a Web browser. Netscape created server-side
JavaScript as a CGI-language that can do roughly the same as Perl or ASP. There is no reason
why JavaScript couldnt be used to write real, complex programs. However, this site
exclusively deals with the use of JavaScript in web browsers.
If you dont have any programming experience at all its best to start with some gentle
JavaScript examples that teach you the basics. It might be a good idea to buy Negrino &
Smith, JavaScript for the World Wide Web , 4th edition, Peachpit Press, 2001. It contains
some very useful examples and though it doesnt treat advanced programming tricks, it will
certainly help you get started. Of course this site also offers plenty of help.
I can also recommend Jeremy Keith, DOM Scripting: Web Design with JavaScript and the
Document Object Model , 1st edition, Friends of Ed, 2005. This, too, is a book that doesn't
delve too deeply into technology, but gives non-programmers such as graphic designers/CSS
wizards an excellent overview of the most common uses of JavaScript - as well as the most
common problems.

MySql
MySQL is a relational database management system (RDBMS), and ships with no GUI tools
to administer MySQL databases or manage data contained within the databases. Users may
21 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
use the included command line tools,or use MySQL "front-ends", desktop software and web
applications that create and manage MySQL databases, build database structures, back up
data, inspect status, and work with data records.The official set of MySQL front-end
tools, MySQL Workbench is actively developed by Oracle, and is freely available for use
.
Graphical
The official MySQL Workbench is a free integrated environment developed by MySQL AB,
that enables users to graphically administer MySQL databases and visually design database
structures. MySQL Workbench replaces the previous package of software, MySQL GUI
Tools. Similar to other third-party packages, but still considered the authoritative MySQL
front end, MySQL Workbench lets users manage database design & modeling, SQL
development (replacing MySQL Query Browser) and Database administration (replacing
MySQL Administrator).
MySQL Workbench is available in two editions, the regular free and open source Community
Edition which may be downloaded from the MySQL website, and the proprietaryStandard
Edition which extends and improves the feature set of the Community Edition.
Third-party proprietary and free graphical administration applications (or "front ends") are
available that integrate with MySQL and enable users to work with database structure and
data visually.
Features
MySQL is offered under two different editions: the open source MySQL Community Server
and the proprietary Enterprise Server. MySQL Enterprise Server is differentiated by a series
of proprietary extensions which install as server plugins, but otherwise shares the version
numbering system and is built from the same code base.
Major features as available in MySQL 5.6:

A broad subset of ANSI SQL 99, as well as extensions

Cross-platform support

Stored procedures, using a procedural language that closely adheres to SQL/PSM


22 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Triggers

Cursors

Updatable views

Online DDL when using the InnoDB Storage Engine.

Information schema

Performance Schema

A set of SQL Mode options to control runtime behavior, including a strict mode to
better adhere to SQL standards.

X/Open XA distributed transaction processing (DTP) support; two phase commit as


part of this, using the default InnoDB storage engine

Transactions with savepoints when using the default InnoDB Storage Engine. The
NDB Cluster Storage Engine also supports transactions.

ACID compliance when using InnoDB and NDB Cluster Storage Engines

SSL support

Query caching

Sub-SELECTs (i.e. nested SELECTs)

Built-in Replication support (i.e. Master-Master Replication & Master-Slave


Replication) with one master per slave, many slaves per master. Multi-master
replication is provided in MySQL Cluster, and multi-master support can be added to
unclustered configurations using Galera Cluster.

Full-text indexing and searching

Embedded database library


23 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Unicode support

Partitioned tables with pruning of partitions in optimizer

Shared-nothing clustering through MySQL Cluster

Multiple storage engines, allowing one to choose the one that is most effective for
each table in the application.

Native storage engines InnoDB, MyISAM, Merge, Memory (heap), Federated,


Archive, CSV, Blackhole, NDB Cluster.

Commit grouping, gathering multiple transactions from multiple connections together


to increase the number of commits per second

24 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Chapter 4
Introduction to Softwares used:
ECLIPSE
In computer programming, Eclipse is an integrated development environment (IDE). It
contains a base workspace and an extensible plug-in system for customizing the environment.
Written mostly in Java, Eclipse can be used to develop applications. By means of various
plug-ins, Eclipse may also be used to develop applications in other programming
languages: Ada, ABAP, C,C++, COBOL, Fortran, Haskell, JavaScript, Lasso, Natural, Perl,
PHP, Prolog, Python, R, Ruby (including Ruby on
Railsframework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used to develop
packages for the softwareMathematica. Development environments include the Eclipse Java
development tools (JDT) for Java and Scala, Eclipse CDT forC/C++ and Eclipse PDT for
PHP, among others.
The initial codebase originated from IBM VisualAge. The Eclipse software development
kit (SDK), which includes the Java development tools, is meant for Java developers. Users
can extend its abilities by installing plug-ins written for the Eclipse Platform, such as
development toolkits for other programming languages, and can write and contribute their
own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source
software (although it is incompatible with the GNU General Public License[3]). It was one of
the first IDEs to run under GNU Classpath and it runs without problems under IcedTea.
Eclipse began as a Smart Canada project. Object Technology International (OTI), which had
previously marketed the Smalltalk-based VisualAge family of integrated development
25 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
environment (IDE) products,developed the new product as a Java-based replacement. In
November 2001, a consortium was formed with a board of stewards to further the
development of Eclipse as open-source software. It is estimated that IBM had already
invested close to $40 million by that time. The original members
were Borland, IBM, Merant,QNX Software Systems, Rational Software, Red
Hat, SuSE, TogetherSoft and WebGain.The number of stewards increased to over 80 by the
end of 2003. In January 2004, theEclipse Foundation was created.

Name
According to Lee Nackman, Chief Technology Officer of IBM's Rational
division (originating in 2003) at that time, the name "Eclipse" (dating from at least 2001) was
not a wordplay on Sun Microsystems, as the product's primary competition at the time of
naming was Microsoft Visual Studio (which it, Eclipse, was to eclipse).[13] Different versions
of Eclipse have been named after different celestial bodies, more specifically planets or
planets' natural satellites. Examples are: Europa, Ganymede, Callisto, Galileo and Luna. The
latest version coming in 2015 has been named Mars.

Architecture
Eclipse uses plug-ins to provide all the functionality within and on top of the runtime system.
Its runtime system is based on Equinox, an implementation of the OSGi core framework
specification.
In addition to allowing the Eclipse Platform to be extended using other programming
languages such as C and Python, the plug-in framework allows the Eclipse Platform to work
with typesetting languages like LaTeX, networking applications such as telnet and database
management systems. The plug-in architecture supports writing any desired extension to the
environment, such as for configuration management. Java and CVS support is provided in the
Eclipse SDK, with support for other version control systems provided by third-party plug-ins.
With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means
that every plug-in developed integrates with Eclipse in exactly the same way as other plugins; in this respect, all features are "created equal". Eclipse provides plug-ins for a wide
variety of features, some of which are through third parties using both free and commercial
26 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
models. Examples of plug-ins include for UML, for Sequence and other UML diagrams, a
plug-in for DB Explorer, and many others.
The Eclipse SDK includes the Eclipse Java development tools (JDT), offering an IDE with a
built-in incrementalJava compiler and a full model of the Java source files. This allows for
advanced refactoring techniques and code analysis. The IDE also makes use of a workspace,
in this case a set of metadata over a flat filespace allowing external file modifications as long
as the corresponding workspace "resource" is refreshed afterwards.
Eclipse implements uses the graphical control elements of the Java toolkit called SWT,
whereas most Java applications use the Java standard Abstract Window Toolkit (AWT)
orSwing. Eclipse's user interface also uses an intermediate graphical user interface layer
called JFace, which simplifies the construction of applications based on SWT. Eclipse was
made to run on Wayland during a GSoC-Project in 2014.
Language packs being developed by the "Babel project" provide translations into over a
dozen natural languages.

Definition - What does Eclipse Platform mean?


The Eclipse platform is a generic integrated development environment (IDE) foundation
without a specific programming language. The platform contains IDE functionality and is
built with components creating applications by using component subsets. Developers create,
share and edit generic projects and files in the platform, while participating within a multiple
team development environment repository.
The platforms primary function is to provide mechanisms and rules to software vendors,
allowing smooth software integration between different vendors.
Techopedia explains Eclipse Platform
The design and structure of the platform has the following functions:

Construction of varied application development tools

Support of unrestricted tool provider sets, such as independent software vendors


(ISVs)
27 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Manipulation of content types, such as HyperText Markup Language (HTML), Java,


C, JavaServer Pages (JSP), Enterprise JavaBeans (EJB), Extensible Markup Language
(XML) and graphics interchange format (GIF)

Facilitation of seamless tool integration of different content types and providers

Support of development environments for graphical user interface (GUI) and nonGUI applications

Execution within varied operating systems, including Windows, LinuxTM, Mac OS


X, Solaris, AIX and HP-UX

Use of Java programming language

IBM created the Eclipse platform to address complaints about IBMs tooling. Clients and
software developers were growing tired of integrating and deconstructing tools to enable tool
function within different environments. IBMs donation of the platform to the open source
community enabled software developers to create integrated tools which functioned together.
As an open source initiative, the platform allowed software developers to improve their
existing platform through contributing new plug-ins.
The platforms success is attributable to the following groups:

Committers: This group is responsible for developing the official Eclipse tooling. A
committer example is the Eclipse Web Tools Platform Project Team.

Plug-in Developers: This group extended the platform to create useful tooling such as
the Eclipse Plug-in Central, which consists of many plug-in developers.

Users: This group uses the tools developed by committers and plug-in developers.

Apache Tomcat 7
In this chapter, we introduce the world of Apache Tomcat server.
Throughout this chapter, we
28 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Describe the Apache Tomcat architecture
Discuss the requirements for installing and configuring Tomcat
Describe the steps of installing and configuring Tomcat
Test your Tomcat installation
At the end of this chapter, you will understand the Tomcat architecture, have an instance of
Tomcat server installed and running on your computer, and have a sample web application
displayed in your browser. The Apache Tomcat Server The Apache Tomcat server is an open
source, Java-based web application container that was created to run servlet and JavaServer
Pages (JSP) web applications. It was created under the Apache-Jakarta subproject; however,
due to its popularity, it is now hosted as a separate Apache project, where it is supported and
enhanced by a group of volunteers from the open source Java community. Apache Tomcat is
very stable and has all of the features of a commercial web application container yet comes
under Open Source Apache License. Tomcat also provides additional functionality that makes
it a great choice for developing a complete web application solution. Some of the additional
features provided by Tomcatother than being open source and freeinclude the Tomcat
Manager application, specialized realm implementations, and Tomcat valves. Currently
supported versions on Apache Tomcat are 5.5X, 6.0X, and 7.0X. Versions earlier than 5.5 are
still available for download, but they are archived and no support is available for them, so
users are encouraged to use the latest possible version of Tomcat where available. Major
versions on Apache Tomcat coincide with versions of the Java Servlet specification, or Java
Servlet API, released. So, Tomcat 5.5X supports Servlet API 2.3, Tomcat 6.0X supports
Servlet API 2.4, and the latest Tomcat 7.0 is a reference implementation of current Servlet
API 3.0. In addition to Servlet API versions, Tomcat versions support corresponding JSP API
versions. The JVM compatibility also depends on the version chosen. Table 1-1 provides a
cross-reference of Tomcat versions, supported JVM versions, and Servlet API and JSP API
releases.
The Tomcat Manager Web Application
The Tomcat Manager web application is packaged with the Tomcat server. It is installed in
the context path of /manager and provides the basic functionality to manage web applications
running in the Tomcat server from any web browser. Some of the provided functionality
includes the ability to install,start, stop, remove, and report on web applications. Chapter 4
covers the details of the Tomcat Managerweb application.
Specialized Realm Implementations
29 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Tomcat provides container-managed security methods for protecting resources within the
container. These databases of users that can be authenticated by the container are called
realms. We will cover two types of realms supported by Tomcat in more detail:
MemoryRealm, where user information is simply read from a file and stored in memory, and
JDBCRealm, which uses relational database to store users.
Tomcat Valves
Tomcat valves are a technology introduced with Tomcat 4, and available in all later versions.
Valves allow you to associate an instance of a Java class with a particular Catalina container.
The configured valve class is then acting as a preprocessor for all requests coming to the
container. Valves are proprietary to Tomcat and cannot, at this time, be used in a different
servlet/JSP container. Servlet API defines similar functionality in form of Filters. We will also
discuss the differences between valves and servlet filter implementation in Chapter 8.
The Architecture of Tomcat
A Tomcat instance, or server, is the top-level component in Tomcats container hierarchy.
Only one Tomcat instance can live in a single Java Virtual Machine (JVM). This approach
makes all other Java applications, running on the same physical machine as Tomcat server,
safe in case Tomcat and/or its JVM crashes.
Tomcat instance consists of grouping of the application containers, which exist in the welldefined hierarchy. The key component in that hierarchy is the Catalina servlet engine.
Catalina is the actual Java servlet container implementation as specified in Java Servlet API.
Tomcat 7 implements Servlet API 3.0, the latest specification from Sun.
Listing 1-1 provides an XML representation of the relationships between the different Tomcat
containers.
Listing 1-1. XML Outline of the Tomcat Architecture Components
<Server>
<Service>
<Connector />
<Engine>
<Host>
<Context></Context>
</Host>
</Engine>
</Service>
30 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
</Server>
Tomcat architecture with main components
This instance can be broken down into a set of containers including a server, a service, a
connector, an engine, a host, and a context. By default, each of these containers is configured
using the server.xml file, which we describe later in more detail. The Server The first
container element referenced in this snippet is the <Server> element. It represents the entire
Catalina servlet engine and is used as a top-level element for a single Tomcat instance. The
<Server>
element may contain one or more <Service> containers.
The Service
The next container element is the <Service> element, which holds a collection of one or more
<Connector> elements that share a single <Engine> element. N-number of <Service>
elements may be
nested inside a single <Server> element.

The Connector
The next type of element is the <Connector> element, which defines the class that does the
actual handling requests and responses to and from a calling client application.
The Engine The third container element is the <Engine> element. Each defined <Service>
can have only one
<Engine> element, and this single <Engine> component handles all requests received by all
of the defined
<Connector> components defined by a parent service.
The Host
The <Host> element defines the virtual hosts that are contained in each instance of a Catalina
<Engine>.
Each <Host> can be a parent to one or more web applications, with each being represented by
a
<Context> component.
The Context
31 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
The <Context> element is the most commonly used container in a Tomcat instance. Each
<Context> element represents an individual web application that is running within a defined
<Host>. There is no limit to the number of contexts that can be defined within a <Host>.
Installing and Configuring Tomcat
In this section, we install Tomcat as a standalone server, which means that Tomcat will
service all requests, including static content, JSPs, and servlets. Before continuing with the
installation steps, lets take a look at the prerequisites for Tomcat installation.
Requirements for Installing and Configuring Tomcat
Before we get started performing the tasks outlined by this chapter, you need to download the
items
JDK 1.8
To install and configure Tomcat, first download the packages from the previously listed
locations.
Installing Tomcat Using Windows Service Installer
The first installation we will be performing is for Windows. The first thing you need to do is
install the Java Development Kit (JDK). Since were using Tomcat 7, we will need JDK 1.6
or later. To download Java, just type download Java in your favorite web search engine, and
follow the top result link.
_ Note Make sure you follow the instructions included with your OS-appropriate JDK.
Tomcat 7 comes with easy-to-use executable Windows installer, which will do all tasks
explained in previous section automatically. First step to do is to download the Apache
Tomcat Windows service installer from the Tomcat download page
(http://tomcat.apache.org/download-70.cgi). Tomcat Windows installer interface is
very similar to any other Windows installer. Follow the steps, choose the installation location,
and the installer will take care of extracting and copying files to correct directory, and
configuring Environment variables and service properties. Figure 1-3 shows the running
Tomcat installer for Windows.
Tomcat Windows Service installer
After the installation is completed, you can check that the environment variable
CATALINA_HOME has been set, from the System Properties application.
The Windows installer will install Tomcat 7 as a Windows Service automatically, so the
Tomcat can be started automatically on Windows start-up, and run in the background as a
Windows Service.
32 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
After Tomcat is restarted
_ Note This URL does not have the port number specified. The URL convention for browsers
is that if the port is omitted from the URL, value 80 is assumed. Therefore, URL
http://localhost:80/ would have the same effect. The next step is to verify if the JSP pages are
handled correctly from the Tomcat. You do this by executing one of the JSP examples
provided with the Tomcat server. To execute an example JSP, start from the page shown in
Figure 1-8 and choose JSP Examples. Now choose the JSP example Date and select the
Execute link. If everything was installed properly, you should see a page similar to Figure 110 (with a different date, of course). If you do not see the previous page, make sure that the
location of your JAVA_HOME environment variable matches the location of your JDK
installation.

ORACLE
Oracle Database Architecture
An Oracle database is a collection of data treated as a unit. The purpose of a database is to
store and retrieve related information. A database server is the key to solving the problems of
information management. In general, a server reliably manages a large amount of data in a
multiuser environment so that many users can concurrently access the same data. All this is
accomplished while delivering high performance. A database server also prevents
unauthorized access and provides efficient solutions for failure recovery.
Oracle Database is the first database designed for enterprise grid computing, the most flexible
and cost effective way to manage information and applications. Enterprise grid computing
creates large pools of industry-standard, modular storage and servers. With this architecture,
each new system can be rapidly provisioned from the pool of components. There is no need
for peak workloads, because capacity can be easily added or reallocated from the resource
pools as needed.
The database has logical structures and physical structures. Because the physical and
logical structures are separate, the physical storage of data can be managed without affecting
the access to logical storage structures.

33 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
The section contains the following topics:

Overview of Oracle Grid Architecture


Overview of Application Architecture
Overview of Physical Database Structures
Overview of Logical Database Structures
Overview of Schemas and Common Schema Objects
Overview of the Oracle Data Dictionary
Overview of the Oracle Instance
Overview of Accessing the Database
Overview of Oracle Utilities

Overview of Oracle Grid Architecture


Grid computing is a new IT architecture that produces more resilient and lower cost
enterprise information systems. With grid computing, groups of independent, modular
hardware and software components can be connected and rejoined on demand to meet the
changing needs of businesses.
The grid style of computing aims to solve some common problems with enterprise IT: the
problem of application silos that lead to under utilized, dedicated hardware resources, the
problem of monolithic, unwieldy systems that are expensive to maintain and difficult to
change, and the problem of fragmented and disintegrated information that cannot be fully
exploited by the enterprise as a whole.
Benefits of Grid Computing
Compared to other models of computing, IT systems designed and implemented in the grid
style deliver higher quality of service, lower cost, and greater flexibility. Higher quality of
service results from having no single point of failure, a robust security infrastructure, and
centralized, policy-driven management. Lower costs derive from increasing the utilization of
resources and dramatically reducing management and maintenance costs. Rather than
dedicating a stack of software and hardware to a specific task, all resources are pooled and
allocated on demand, thus eliminating under utilized capacity and redundant capabilities.
Grid computing also enables the use of smaller individual hardware components, thus

34 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
reducing the cost of each individual component and providing more flexibility to devote
resources in accordance with changing needs.
Grid Computing Defined
The grid style of computing treats collections of similar IT resources holistically as a single
pool, while exploiting the distinct nature of individual resources within the pool. To address
simultaneously the problems of monolithic systems and fragmented resources, grid
computing achieves a balance between the benefits of holistic resource management and
flexible independent resource control. IT resources managed in a grid include:

Infrastructure: the hardware and software that create a data storage and program
execution environment

Applications: the program logic and flow that define specific business processes

Information: the meanings inherent in all different types of data used to conduct
business

Core Tenets of Grid Computing


Two core tenets uniquely distinguish grid computing from other styles of computing, such as
mainframe, client-server, or multi-tier: virtualization and provisioning.

With virtualization, individual resources (e.g. computers, disks, application


components and information sources) are pooled together by type then made available
to consumers (e.g. people or software programs) through an abstraction. Virtualization
means breaking hard-coded connections between providers and consumers of
resources, and preparing a resource to serve a particular need without the consumer
caring how that is accomplished.

With provisioning, when consumers request resources through a virtualization layer,


behind the scenes a specific resource is identified to fulfill the request and then it is
allocated to the consumer. Provisioning as part of grid computing means that the
system determines how to meet the specific need of the consumer, while optimizing
operation of the system as a whole.
35 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
The specific ways in which information, application or infrastructure resources are
virtualized and provisioned are specific to the type of resource, but the concepts apply
universally. Similarly, the specific benefits derived from grid computing are particular
to each type of resource, but all share the characteristics of better quality, lower costs
and increased flexibility.
Infrastructure Grid
Infrastructure grid resources include hardware resources such as storage, processors, memory,
and networks as well as software designed to manage this hardware, such as databases,
storage management, system management, application servers, and operating systems.
Virtualization and provisioning of infrastructure resources mean pooling resources together
and allocating to the appropriate consumers based on policies. For example, one policy might
be to dedicate enough processing power to a web server that it can always provide subsecond response time. That rule could be fulfilled in different ways by the provisioning
software in order to balance the requests of all consumers.
Treating infrastructure resources as a single pool and allocating those resources on demand
saves money by eliminating under utilized capacity and redundant capabilities. Managing
hardware and software resources holistically reduces the cost of labor and the opportunity for
human error.
Spreading computing capacity among many different computers and spreading storage
capacity across multiple disks and disk groups removes single points of failure so that if any
individual component fails, the system as a whole remains available. Furthermore, grid
computing affords the option to use smaller individual hardware components, such as blade
servers and low cost storage, which enables incremental scaling and reduces the cost of each
individual component, thereby giving companies more flexibility and lower cost.
Infrastructure is the dimension of grid computing that is most familiar and easy to
understand, but the same concepts apply to applications and information.
Applications Grid

36 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Application resources in the grid are the encodings of business logic and process flow within
application software. These may be packaged applications or custom applications, written in
any programming language, reflecting any level of complexity. For example, the software
that takes an order from a customer and sends an acknowledgement, the process that prints
payroll checks, and the logic that routes a particular customer call to a particular agent are all
application resources.
Historically, application logic has been intertwined with user interface code, data
management code, and process or page flow and has lacked well-defined interfaces, which
has resulted in monolithic applications that are difficult to change and difficult to integrate.
Service oriented architecture has emerged as a superior model for building applications, and
service oriented architecture concepts align exactly with the core tenets of grid computing.
Virtualization and provisioning of application resources involves publishing application
components as services for use by multiple consumers, which may be people or processes,
then orchestrating those services into more powerful business flows.
In the same way that grid computing enables better reuse and more flexibility of IT
infrastructure resources, grid computing also treats bits of application logic as a resource, and
enables greater reuse of application functionality and more flexibility in changing and
building new composite applications.
Furthermore, applications that are orchestrated from published services are able to view
activities in a business as a single whole, so that processes are standardized across geography
and business units and processes are automated end-to-end. This generates more reliable
business processes and lowers cost through increased automation and reduced variability.
Information Grid
The third dimension to grid computing, after infrastructure and applications, is information.
Today, information tends to be fragmented across a company, making it difficult to see the
business as a whole or answer basic questions.about customers. Without information about
who the customer is, and what they want to buy, information assets go underexploited.

37 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
In contrast, grid computing treats information holistically as a resource, similar to
infrastructure and applications resources, and thus extracts more of its latent value.
Information grid resources include all data in the enterprise and all metadata required to make
that data meaningful. This data may be structured, semi-structured, or unstructured, stored in
any location, such as databases, local file systems, or e-mail servers, and created by any
application.
The core tenets of grid computing apply similarly to information as they do to infrastructure
and applications. The infrastructure grid exploits the power of the network to allow multiple
servers or storage devices to be combined toward a single task, then easily reconfigured as
needs change. A service oriented architecture, or an applications grid, enables independently
developed services, or application resources, to be combined into larger business processes,
then adapted as needs change without breaking other parts of the composite application.
Similarly, the information grid provides a way for information resources to be joined with
related information resources to greater exploit the value of the inherent relationships among
information, then for new connections to be made as situations change.
The relational database, for example, was an early information virtualization technology.
Unlike its predecessors, the network database and hierarchical database models, in which all
relationships between data had to be predetermined, relational database enabled flexible
access to a general-purpose information resource. Today, XML furthers information
virtualization by providing a standard way to represent information along with metadata,
which breaks the hard link between information and a specific application used to create and
view that information.
Information provisioning technologies include message queuing, data propagation,
replication, extract-transform-load, as well as mapping and cleansing tools to ensure data
quality. Data hubs, in which a central operational data store continually syncs with multiple
live data sources, are emerging as a preferred model for establishing a single source of truth
while maintaining the flexibility of distributed control.
Grid Resources Work Well Independently and Best Together

38 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
By managing any single IT resource infrastructure, applications, or information - using grid
computing, regardless of how the other resources are treated, enterprises can realize higher
quality, more flexibility, and lower costs. For example, there is no need to rewrite
applications to benefit from an infrastructure grid. It is also possible to deploy an applications
grid, or a service oriented architecture, without changing the way information is managed or
the way hardware is configured.
It is possible, however, to derive even greater benefit by using grid computing for all
resources. For example, the applications grid becomes even more valuable when you can set
policies regarding resource requirements at the level of individual services and have
execution of different services in the same composite application handled differently by the
infrastructure - something that can only be done by an application grid in combination with
an infrastructure grid. In addition, building an information grid by integrating more
information into a single source of truth becomes tenable only when the infrastructure is
configured as a grid, so it can scale beyond the boundary of a single computer.
Grid Computing in Oracle Database 10g
On the path toward this grand vision of grid computing, companies need real solutions to
support their incremental moves toward a more flexible and more productive IT architecture.
The Oracle Database 10g family of software products implements much of the core grid
technology to get companies started. And Oracle delivers this grid computing functionality in
the context of holistic enterprise architecture, providing a robust security infrastructure,
centralized management, intuitive, powerful development tools, and universal access. Oracle
Database 10g includes:

Oracle Database 10g

Oracle Application Server 10g

Oracle Enterprise Manager 10g

Oracle Collaboration Suite 10g

Although the grid features of Oracle 10g span all of the products listed above, this discussion
will focus on the grid computing capabilities of Oracle Database 10g.

39 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Infrastructure Grid

Server Virtualization. Oracle Real Application Clusters 10g (RAC) enable a single
database to run across multiple clustered nodes in a grid, pooling the processing
resources of several standard machines. Oracle is uniquely flexible in its ability to
provision workload across machines because it is the only database technology that
does not require data to be partitioned and distributed along with the work. Oracle
10g Release 2 software includes enhancements for balancing connections across RAC
instances, based on policies.

Storage Virtualization. The Oracle Automatic Storage Management (ASM) feature of


Oracle Database 10g provides a virtualization layer between the database and storage
so that multiple disks can be treated as a single disk group and disks can be
dynamically added or removed while keeping databases online. Existing data will
automatically be spread across available disks for performance and utilization
optimization. In Oracle 10g Release 2, ASM supports multiple databases, which could
be at different software version levels, accessing the same storage pool.

Grid Management. Because grid computing pools together multiple servers and disks
and allocates them to multiple purposes, it becomes more important that individual
resources are largely self-managing and that other management functions are
centralized.
The Grid Control feature of Oracle Enterprise Manager 10g provides a single console
to manage multiple systems together as a logical group. Grid Control manages
provisioning of nodes in the grid with the appropriate full stack of software and
enables configurations and security settings to be maintained centrally for groups of
systems.
Another aspect to grid management is managing user identities in a way that is both
highly secure and easy to maintain. Oracle Identity Management 10g includes an
LDAP-compliant directory with delegated administration and now, in Release 2,
federated identity management so that single sign-on capabilities can be securely
40 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
shared across security domains. Oracle Identity Management 10g closely adheres to
grid principles by utilizing a central point for applications to authenticate users - the
single sign-on server - while, behind the scenes, distributing control of identities via
delegation and federation to optimize maintainability and overall operation of the
system.
Applications Grid
Standard Web Services Support. In addition to the robust web services support in Oracle
Application Server 10g, Oracle database 10g can publish and consume web services. DML
and DDL operations can be exposed as web services, and functions within the database can
make a web service appear as a SQL row source, enabling use of powerful SQL tools to
analyze web service data in conjunction with relational and non-relational data.
Oracle Enterprise Manager 10g enhances Oracle's support for service oriented architectures
by monitoring and managing web services and any other administrator-defined services,
tracking end-to-end performance and performing root cause analysis of problems
encountered.
Information Grid

Data Provisioning. Information starts with data, which must be provisioned wherever
consumers need it. For example, users may be geographically distributed, and fast
data access may be more important for these users than access to an identical
resource. In these cases, data must be shared between systems, either in bulk or near
real time. Oracle's bulk data movement technologies include Transportable
Tablespaces and Data Pump.
For more fine-grained data sharing, the Oracle Streams feature of Oracle Database
10g captures database transaction changes and propagates them, thus keeping two or
more database copies in sync as updates are applied. It also unifies traditionally
distinct data sharing mechanisms, such as message queuing, replication, events, data
warehouse loading, notifications and publish/subscribe, into a single technology.

41 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Centralized Data Management. Oracle Database 10g manages all types of structured,
semi-structured and unstructured information, representing, maintaining and querying
each in its own optimal way while providing common access to all via SQL and XML
Query. Along with traditional relational database structures, Oracle natively
implements OLAP cubes, standard XML structures, geographic spatial data and
unlimited sized file management, thus virtualizing information representation.
Combining these information types enables connections between disparate types of
information to be made as readily as new connections are made with traditional
relational data.

Metadata Management. Oracle Warehouse Builder is more than a traditional batch


ETL tool for creating warehouses. It enforces rules to achieve data quality, does fuzzy
matching to automatically overcome data inconsistency, and uses statistical analysis
to infer data profiles. With Oracle 10g Release 2, its metadata management
capabilities are extended from scheduled data pulls to handle a transaction-time data
push from an Oracle database implementing the Oracle Streams feature.
Oracle's series of enterprise data hub products (for example, Oracle Customer Data
Hub) provide real-time synchronization of operational information sources so that
companies can have a single source of truth while retaining separate systems and
separate applications, which may include a combination of packaged, legacy and
custom applications. In addition to the data cleansing and scheduling mechanisms,
Oracle also provides a well-formed schema, established from years of experience
building enterprise applications, for certain common types of information, such as
customer, financial, and product information.

Metadata Inference. Joining the Oracle 10g software family is the new Oracle
Enterprise Search product. Oracle Enterprise Search 10g crawls all information
sources in the enterprise, whether public or secure, including e-mail servers,
document management servers, file systems, web sites, databases and applications,
then returns information from all of the most relevant sources for a given search
query. This crawl and index process uses a series of heuristics specific to each data

42 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
source to infer metadata about all enterprise information that is used to return the most
relevant results to any query.
Overview of Application Architecture
There are two common ways to architect a database: client/server or multitier. As internet
computing becomes more prevalent in computing environments, many database management
systems are moving to a multitier environment.
Client/Server Architecture
Multiprocessing uses more than one processor for a set of related jobs. Distributed
processing reduces the load on a single processor by allowing different processors to
concentrate on a subset of related tasks, thus improving the performance and capabilities of
the system as a whole.
An Oracle database system can easily take advantage of distributed processing by using
its client/server architecture. In this architecture, the database system is divided into two
parts: a front-end or a client, and a back-end or a server.
The Client
The client is a database application that initiates a request for an operation to be performed on
the database server. It requests, processes, and presents data managed by the server. The
client workstation can be optimized for its job. For example, it might not need large disk
capacity, or it might benefit from graphic capabilities.
Often, the client runs on a different computer than the database server, generally on a PC.
Many clients can simultaneously run against one server.
The Server
The server runs Oracle software and handles the functions required for concurrent, shared
data access. The server receives and processes the SQL and PL/SQL statements that originate
from client applications. The computer that manages the server can be optimized for its
duties. For example, it can have large disk capacity and fast processors.

43 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
Multitier Architecture: Application Servers
A multitier architecture has the following components:

A client or initiator process that starts an operation

One or more application servers that perform parts of the operation. An application
server provides access to the data for the client and performs some of the query
processing, thus removing some of the load from the database server. It can serve as
an interface between clients and multiple database servers, including providing an
additional level of security.

An end or database server that stores most of the data used in the operation

This architecture enables use of an application server to do the following:

Validate the credentials of a client, such as a Web browser

Connect to an Oracle database server

Perform the requested operation on behalf of the client

If proxy authentication is being used, then the identity of the client is maintained throughout
all tiers of the connection.
Overview of Physical Database Structures
The following sections explain the physical database structures of an Oracle database,
including datafiles, redo log files, and control files.
Datafiles
Every Oracle database has one or more physical datafiles. The datafiles contain all the
database data. The data of logical database structures, such as tables and indexes, is
physically stored in the datafiles allocated for a database.
The characteristics of datafiles are:

A datafile can be associated with only one database.


44 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Datafiles can have certain characteristics set to let them automatically extend when
the database runs out of space.

One or more datafiles form a logical unit of database storage called a tablespace.

Data in a datafile is read, as needed, during normal database operation and stored in the
memory cache of Oracle. For example, assume that a user wants to access some data in a
table of a database. If the requested information is not already in the memory cache for the
database, then it is read from the appropriate datafiles and stored in memory.
Modified or new data is not necessarily written to a datafile immediately. To reduce the
amount of disk access and to increase performance, data is pooled in memory and written to
the appropriate datafiles all at once, as determined by the database writer process
(DBWn) background process.
Control Files
Every Oracle database has a control file. A control file contains entries that specify the
physical structure of the database. For example, it contains the following information:

Database name

Names and locations of datafiles and redo log files

Time stamp of database creation

Oracle can multiplex the control file, that is, simultaneously maintain a number of identical
control file copies, to protect against a failure involving the control file.
Every time an instance of an Oracle database is started, its control file identifies the database
and redo log files that must be opened for database operation to proceed. If the physical
makeup of the database is altered (for example, if a new datafile or redo log file is created),
then the control file is automatically modified by Oracle to reflect the change. A control file is
also used in database recovery.

JDK

45 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION
The Java Development Kit (JDK) is provided by Sun Microsystems as a basic development
environment for Java. The JDK provides similar facilities to the cc compiler for C programs,
plus a JVM simulator and some additional facilities such as a debugger. To use the JDK,
programs are constructed as ascii text files (by using an editor, for example). The program
files are compiled, which translates the Java code to JVM bytecode in .class files.
Each public class must be in a file having the class name (case sensitive on Unix) followed
by a .java suffix. There may be any number of classes defined in a .java file, but the compiler
produces a separate .class file for each class.
A file is compiled with the javac command, which is similar to the cc (or gcc) command. A
class is executed (or more precisely, the method main in a class is executed) by the
command java with the class name (not the .class file) as the parameter. Thus, for example, to
compile the Java Example 1 program in file Hi.java, we would use the command
javac Hi.java
and then to execute the program we would use the command
java Hi
Both compile-time and execution-time (exceptions)
error messages
include the file name and line where the error occurred. No .class file is produced if there is a
compile-time error.
There are some web pages in the Java Resources pages that provide information on using the
Java JDK and installing the JDK on a Wintel PC. These are:
Unix Setup to use Java
This tells how to set up your CS account, if necessary, to use the JDK.
Running Java Programs
This tells how to use the JDK to compile and execute Java programs.
Installing the JDK on a computer
This provides information on obtaining and installing the JDK on a personal
computer. The JDK is free and can be downloaded from Sun's Java web site.

46 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

CHAPTER 5
DESCRIPTION OF HR SOLUTION

Human resource solution consulting is an $18.4 billion industry that has emerged
from management consulting and addresses human resource management tasks and
decisions. HR Consultants are responsible for assisting clients with strategically
integrating effective HR processes, programs and practices into their daily operations.
Their role is also to maximize the client's performance related to human resources by
introducing or marketing "best practice" products or services as well as to provide
periodic feedback to clients regarding their performance related to annual
management objectives. To accomplish this, the HR Consultant may need to perform
needs assessments or audits and make recommendations or proposals, coordinate the
creation and implementation of an action or corrective plan, and when required,
47 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

organize and coordinate cross-functional Human Resource teams to assist the client
with developing and implementing performance improvement corrective plans,
programs or processes. The following are core fields around which most HR
consultancies are based:

Human capital, including remuneration (also called total rewards), employee


rewards and incentive programs, and talent acquisition and management

Health and benefits, orchestrating optimal employee health plans with the
carriers themselves

Mergers and acquisitions, examining fit across culture, job-type, transaction


costs, etc.

Communication, including surveying employee attitudes, satisfaction,


engagement, and other employee behaviors

Retirement

Recruitment process outsourcing

Services may also include legal counseling, global initiatives, investments consulting,
and the implementation of HR technologies to facilitate human capital management.
The HR consulting industry also employs more actuaries than any other in order to
assist in their services.

1 Companies in the field

2 Qualifications and certifications

3 See also

4 References

Companies in the field


48 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

HR consultancies vary in their ranges of services and sizes, with many consultants and
academicians breaking off to form their own practices. In 2007, there were 950 HR
consultancies globally, constituting a USD $18.4 billion market.
As of 2014, major HR Consultancy firms included

Aon Hewitt

Deloitte

Hay Group

Mercer

PricewaterhouseCoopers

The Segal Company

Towers Watson

Qualifications and certifications


Many human resource consultants have specialized qualifications or certifications,
such as:

Accountancy: ACCA, CA, CPA, CCA

Actuarial: EA, ASA, FSA, MAAA, FIA, FFA

Educational: MS in Management/HR/Industrial Organizational


psychology, MBA, Ph.D. in Management, DBA, J.D.

Finance: CFA

General consulting: CMC

HR consulting: Certified Human Resources Consultant (CHRC) by HRMI.org,


Chartered Institute of Personnel and Development CIPD
49 | P a g e

BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

Health and benefits: CEBS, CBP,

Compensation: CCP (Certified Compensation Professional)

Human resources: Various certifications SHRM (US) CHRP (Canada)


(e.g. PHR, SPHR, GPHR); Chartered Institute of Personnel and Development
#Membership grades |MCIPD], PGDHR DHR.

\CASCADE

DIAGRAM OF HR SOLUTION :-

50 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

ER DIAGRAM OF HR SOLUTION :-

Flowchart - HR management process


51 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

"Human resource management (HRM, or simply HR) is the management


process of an organization's workforce, or human resources. It is responsible
for the attraction, selection, training, assessment, and rewarding of
employees, while also overseeing organizational leadership and culture and
ensuring compliance with employment and labor laws. In circumstances
where employees desire and are legally authorized to hold a collective
bargaining agreement, HR will also serve as the company's primary liaison
with the employees' representatives (usually a trades union).
HR is a product of the human relations movement of the early 20th century,
when researchers began documenting ways of creating business value
through the strategic management of the workforce. The function was initially
dominated by transactional work, such as payroll and benefits administration,
but due to globalization, company consolidation, technological advancement,
and further research, HR now focuses on strategic initiatives like mergers and
acquisitions, talent management, succession planning, industrial and labor
relations, and diversity and inclusion." [Human resource management.
Wikipedia]
The flow chart example "HR management process" was created using the
ConceptDraw PRO diagramming and vector drawing software extended with
the Flowcharts solution from the area "What is a Diagram" of ConceptDraw
Solution Park.

FLOW CHART OF HR SOLUTION :52 | P a g e


BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

BIBLIOGRAPHY
53 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

HR SOLUTION

BOOKS
-

JAVA : A Begineers guide (Herbert Schildt)


The Complete Reference : Java 2 (Herbert Schildt)
Thinking In JAVA (Bruce Eckel)

INTERNET
-

Wikipedia
Javasuns.com
W3schools.com

54 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR

S-ar putea să vă placă și