Documente Academic
Documente Profesional
Documente Cultură
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
HR SOLUTION
TABLE OF CONTENT
INTRODUCTION TO JAVA
4 - 11
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
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.
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.
User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create
sophisticated Graphical User Interfaces (GUIs).
TM
TM
API, Java
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:
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.
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 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.
10 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR
HR SOLUTION
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 are portable between application servers supporting the J2EE
specification.
Java Servlets
HR SOLUTION
JavaMail
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.
HR SOLUTION
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.
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:
Cross-platform support
HR SOLUTION
Triggers
Cursors
Updatable views
Information schema
Performance Schema
A set of SQL Mode options to control runtime behavior, including a strict mode to
better adhere to SQL standards.
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
HR SOLUTION
Unicode support
Multiple storage engines, allowing one to choose the one that is most effective for
each table in the application.
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.
HR SOLUTION
Support of development environments for graphical user interface (GUI) and nonGUI applications
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:
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
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:
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.
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
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 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:
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
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:
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
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:
Health and benefits, orchestrating optimal employee health plans with the
carriers themselves
Retirement
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.
3 See also
4 References
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
Towers Watson
Finance: CFA
HR SOLUTION
\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 :-
HR SOLUTION
HR SOLUTION
BIBLIOGRAPHY
53 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR
HR SOLUTION
BOOKS
-
INTERNET
-
Wikipedia
Javasuns.com
W3schools.com
54 | P a g e
BHAI GURDAS INSTITUTE OF ENGINEERING AND TECHNOLOGY, SANGRUR