Event Management System Report
Event Management System Report
VI BCA 1
event MANAGEMENT SYSTEM
1. INTRODUCTION
1.1 OBJECTIVE:
Online Event Management is web application software being designed and developed to meet
the needs of customers’ who want to book for required services. Using this web application,
the customers will be able to avail services for their events after registering with us through
our web site. Our web application facilitates clients to choose services according to their
budget and also the online payments. This will improve the customers satisfaction and saves
time.
Major Modules:
Admin
Customer
Functionalities of Modules:
VI BCA 2
event MANAGEMENT SYSTEM
The administrator has the full privilege in this web application. The user
with admin login can add new service details as when introduced in the
market. The financial scenarios of clients are obtained and service
booking plans and services are given. Also, on regular basis admin keeps
checking the market trends and updates the service for the customers and
generate the report.
VI BCA 3
event MANAGEMENT SYSTEM
VI BCA 4
event MANAGEMENT SYSTEM
The existing system is functionally compatible with the process logic, but lacking in certain
operations such as booking summary and alteration that customers should be able to do in the
system for the changing needs. The booking and status tracking are not automated. Usually
the e-commerce websites does not provide with the status tracking. The customers will have
to register for the same with customer support team and make phone calls to know the status
of requested service. In this type of status tracking the customers face lots of hardships in
getting connected and to talk to the executive for knowing the status. Also, the savings,
expenses and various types of earnings related operations in finance maintenance require the
automation.
In the proposed system, the drawbacks of existing system are overcome. The customer
support for status tracking is done through one of the web module, so that customers can
track the booking status through the web pages. The numerous phone calls and endless
waiting is eliminated. All other operations are typical web commerce oriented, so system
functionality is well understood. The development and usage of this application is really
interesting one.
VI BCA 5
event MANAGEMENT SYSTEM
VI BCA 6
event MANAGEMENT SYSTEM
An SRS minimizes the time and effort required by developers to achieve desired goals and
also minimizes the development cost. A good SRS defines how an application will interact
with system hardware, other programs and human users in a wide variety of real-world
situations. Parameters such as operating speed, response time, availability, portability,
maintainability, footprint, security and speed of recovery from adverse events are evaluated.
The requirements of this web application (ems) developed by us is very well understood and
documented initially when the process started, accordingly the hardware and software
requirements are chosen. The same can be referred in the next section of this report. This web
application runs in the Apache Tomcat Server, which can be accessed by web clients through
the Internet from anywhere in the world. The SRS parameters are adopted in this system,
with the detailed feasibility study. While developing, this system tested as the localhost,
through the Mozilla firefox browser. Also, few other popular web browsers are tested.
VI BCA 7
event MANAGEMENT SYSTEM
VI BCA 8
event MANAGEMENT SYSTEM
HARDWARE
RAM 4GB
HDD 500GB
SOFTWARE
VI BCA 9
event MANAGEMENT SYSTEM
VI BCA 10
event MANAGEMENT SYSTEM
5. SOFTWARE PROFILE
Hardware Interface:
Client side:
Processor: Intel Core i3.
RAM: 2GB.
Network Interface.
Server Side:
Processor: Intel Core i3.
RAM: 2GB.
Disk space: 2GB.
Software Interface
Client side:
Windows XP/ Vista/ Win 7.
Internet Explorer 6.0 or above
Network Interface.
Server Side:
Apache Tomcat Web Server 7.0.1.
Oracle 10g Database as Back End.
J2EE Framework.
VI BCA 11
event MANAGEMENT SYSTEM
October 1991
HTML Tags an informal CERN document listing eighteen HTML tags, was first
mentioned in public.
June 1992
First informal draft of the HTML DTD with seven subsequent revisions (July 15,
August 6, August 18, November 17, November 19, November 20, November 22)
November 1992
HTML DTD 1.1 (the first with a version number, based on RCS revisions, which start
with 1.1 rather than 1.0), an informal draft.
June 1993
Hypertext Markup Language was published by the IETF IIIR Working Group as an
Internet-Draft (a rough proposal for a standard). It was replaced by a second version
one month later, followed by six further drafts published by IETF itself that finally
led to HTML 2.0 in RFC1866
November 1993
HTML 3.0 was proposed as a standard to the IETF, but the proposal expired five
months later without further action. It included many of the capabilities that were in
Raggett's HTML+ proposal, such as support for tables, text flow around figures and
the display of
January 2008
VI BCA 12
event MANAGEMENT SYSTEM
Although its syntax closely resembles that of SGML, HTML5 has abandoned any
attempt to be an SGML application and has explicitly defined its own "html"
serialization, in addition to an alternative XML-based XHTML5 serialization.
Characteristics: -
XHTML Versions: -
XHTML 1.0, published January 26, 2000, as a W3C Recommendation, later revised
and republished August 1, 2002. It offers the same three variations as HTML 4.0 and
4.01, reformulated in XML, with minor restrictions.
XHTML 1.1 published May 31, 2001, as a W3C Recommendation. It is based on
XHTML 1.0 Strict, but includes minor changes, can be customized, is reformulated
using modules from Modularization of XHTML, which was published April 10, 2001,
as a W3C Recommendation.
XHTML 2.0 There is no XHTML 2.0 standard. XHTML 2.0 is only a draft document
and it is inappropriate to cite this document as other than work in progress. XHTML
VI BCA 13
event MANAGEMENT SYSTEM
2.0 is incompatible with XHTML 1.x and, therefore, would be more accurately
characterized as an XHTML-inspired new language than an update to XHTML 1.x.
XHTML5, which is an update to XHTML 1.x, is being defined alongside HTML5 in
the HTML5 draft.
Cascading Style Sheets (CSS) is a style sheet language used to describe the
presentation semantics (the look and formatting) of a document written in a markup
language. It’s most common application is to style web pages written in HTML and
XHTML, but the language can also be applied to any kind of XML document,
including plain XML, SVG and XUL.
CSS defines HOW HTML elements are to be displayed. Styles are normally saved in
external .css files. External style sheets enable you to change the appearance and
layout of all the pages in a Web site, just by editing one single file! The CSS files
referenced in the HTML page.
A CSS rule has two main parts: a selector, and one or more declarations:
VI BCA 14
event MANAGEMENT SYSTEM
The selector is normally the HTML element you want to style. Each declaration
consists of a property and a value. The property is the style attribute you want to
change. Each property has a value.
Following example formats a paragraph in an HTML document
p
{
color:red;
text-align:center;
}
5.3 JAVASCRIPT
JavaScript was originally developed by Brendan Eich of Netscape under the name
Mocha, which was later renamed to LiveScript, and finally to JavaScript.
The primary use of JavaScript is to write functions that are embedded in or included
from HTML pages and that interact with the Document Object Model (DOM) of the
page. Some simple examples of this usage are:
i) Opening or popping up a new window with programmatic control over the
size, position, and attributes of the new window (e.g. whether the menus,
toolbars, etc. are visible).
ii) Validating input values of a web form to make sure that they are acceptable
before being submitted to the server.
iii) Changing images as the mouse cursor moves over them: This effect is often
used to draw the user's attention to important links displayed as graphical
elements.
VI BCA 15
event MANAGEMENT SYSTEM
EXAMPLE:
a) A simple recursive function:
function factorial(n)
{
if (n === 0)
{
return 1;
}
return n * factorial(n - 1);
}
VI BCA 16
event MANAGEMENT SYSTEM
JSP allows Java code and certain pre-defined actions to be interleaved with static web
markup content, with the resulting page being compiled and executed on the server to
deliver an HTML or XML document. The compiled pages and any dependent Java
libraries use Java bytecode rather than a native software format, and must therefore be
executed within a Java virtual machine (JVM) that integrates with the host operating
system to provide an abstract platform-neutral environment.
JSP syntax is a fluid mix of two basic content forms: scriptlet elements and markup.
Markup is typically standard HTML or XML, while scriptlet elements are delimited
blocks of Java code which may be intermixed with the markup. When the page is
requested the Java code is executed and its output is added, in situ, with the
surrounding markup to create the final page. JSPs must be compiled to Java bytecode
classes before they can be executed, but such compilation is needed only when a
change to the source JSP file has occurred.
VI BCA 17
event MANAGEMENT SYSTEM
VI BCA 18
event MANAGEMENT SYSTEM
5.5 SERVLET
A Servlet is a Java programming language class that is used to extend the capabilities
of servers that host applications access via a request-response programming model.
Although servlets can respond to any type of request, they are commonly used to
extend the applications hosted by web servers. For such applications, Java Servlet is a
Java class in Java EE that conforms to the Java Servlet API, a protocol by which a
Java class may respond to requests. They are not tied to a specific client-server
protocol, but are most often used with the HTTP protocol. Therefore, the word
"Servlet" is often used in the meaning of "HTTP Servlet".[2] Thus, a software
developer may use a servlet to add dynamic content to a Web server using the Java
platform. The generated content is commonly HTML, but may be other data such as
XML. Servlets are the Java counterpart to non-Java dynamic Web content
technologies such as CGI and ASP.NET. Servlets can maintain state in session
variables across many server transactions by using HTTP cookies, or URL rewriting.
VI BCA 19
event MANAGEMENT SYSTEM
Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the
Java Servlet, JavaServer Pages, Java Expression Language and WebSocket technologies.[3]
Tomcat provides a "pure Java" HTTP web server environment in which Java code can run.
Tomcat is developed and maintained by an open community of developers under the auspices
of the Apache Software Foundation, released under the Apache License 2.0 license.
Components
Tomcat 4.x was released with Catalina (a servlet container), Coyote (an HTTP connector)
and Jasper (a JSP engine).
Catalina James
Coyote
Coyote is a Connector component for Tomcat that supports the HTTP 1.1 and 2 protocol as a
web server. This allows Catalina, nominally a Java Servlet or JSP container, to also act as a
plain web server that serves local files as HTTP documents.[5] Coyote listens for incoming
connections to the server on a specific TCP port and forwards the request to the Tomcat
Engine to process the request and send back a response to the requesting client. Another
Coyote Connector, Coyote JK, listens similarly but instead forwards its requests to another
web server, such as Apache, using the JK Protocol.[6] This usually offers better performance.
[citation needed]
VI BCA 20
event MANAGEMENT SYSTEM
Jasper
Jasper is Tomcat's JSP Engine. Jasper parses JSP files to compile them into Java code as
servlets (that can be handled by Catalina). At runtime, Jasper detects changes to JSP files and
recompiles them.
JSP Tag library pooling – Each tag markup in JSP file is handled by a tag handler class. Tag
handler class objects can be pooled and reused in the whole JSP servlet.
Background JSP compilation – While recompiling modified JSP Java code, the older version is
still available for server requests. The older JSP servlet is deleted once the new JSP servlet
has finished being recompiled.
Recompile JSP when included page changes – pages can be inserted and included into a JSP
at runtime. The JSP will not only be recompiled with JSP file changes but also with included
page changes.
JDT Java compiler – Jasper 2 can use the Eclipse JDT (Java Development Tools) Java compiler
instead of Ant and javac.
Cluster
This component has been added to manage large applications. It is used for load balancing
that can be achieved through many techniques. Clustering support currently requires the JDK
version 1.5 or higher.
High availability
A high-availability feature has been added to facilitate the scheduling of system upgrades
(e.g. new releases, change requests) without affecting the live environment. This is done by
dispatching live traffic requests to a temporary server on a different port while the main
server is upgraded on the main port. It is very useful in handling user requests on high-traffic
web applications.[7]
Web application
It has also added user- as well as system-based web applications enhancement to add support
for deployment across the variety of environments. It also tries to manage sessions as well as
applications across the network.
VI BCA 21
event MANAGEMENT SYSTEM
Features
Tomcat 8.x implements the Servlet 3.1 and JSP 2.3 Specifications.[9] Apache Tomcat 8.5.x is
intended to replace 8.0.x and includes new features pulled forward from Tomcat 9.0.x. The
minimum Java version and implemented specification versions remain unchanged.[10]
ECMAScript 6 support
NodeJS enhancements
Oracle JET support enhancements
PHP7 support
Docker support
New editor multicaret features
New pinnable watches feature
SQL profiling
C/C++ enhancements
VI BCA 22
event MANAGEMENT SYSTEM
Functions of DBMS:-
DBMS is a general purpose software system that performs the following functions:-
Defining a database.
Maintaining a database.
VI BCA 23
event MANAGEMENT SYSTEM
DBMS Architecture:-
DBMS architecture consists of three levels known as Three Schema Architecture. It is
convenient tool with which the user can visualize the schema levels in a database
system. It contains of the following three schemas:-
1. The Internal level: - This contains of an internal schema, which describes the
physical storage structure of the database. It is the lowest level of abstraction. It does
not hide the storage details. It contains the definition of the stored record, the method
of representing the data fields and the access aids used. This internal schema uses a
physical data model and describes the complete details of data storage and access
paths for the database. It is also called the physical schema.
2. The Conceptual level: - This has a conceptual schema, which describes the structures
of a database for a group of users. This schema hides the storage details from the user
and it includes description of entities, data types, relationships, user operations and
constraints. The description of data at this level is in a format independent of its
physical representation.
3. The External level: - This has a number of external schemas or user views. Each
external schema describes the part of the database that a particular user group is
interested in and hides all the other details from this group. This is at a highest level of
database absorption.
VI BCA 24
event MANAGEMENT SYSTEM
Client-Server Architecture: -
Two-tier
Three-tier
N-tier
In two tier architecture, the software components are distributed over two systems: the
client and the server. This architecture has two forms as: logical two-tier and physical
two-tier.
VI BCA 25
event MANAGEMENT SYSTEM
The above figure shows the physical client/server architecture. Some machines like
diskless workstations, or workstations/PCs with disks that have only client software
installed would be only client sites. Other machines would be dedicated servers. Some
other machines would have both client and server functionality. In relational DBMS,
user interface and application programs can run at client side. The query and
transactions functionality are included on the server side. A client program can send
query and transaction requests using the ODBC API which are then processed at the
server site. The query results are sending back to the client program which can
process or display the results needed.
VI BCA 26
event MANAGEMENT SYSTEM
With the emergence of World Wide Web, many web applications use the three-tier
architecture. There is an intermediate layer between the client and the database server
called the application server or the web server. The web server plays the intermediary
role by storing business rules that are used to access data from the database server. It
checks the client’s credentials before forwarding a request to the database server. The
intermediate server accepts requests from the client, process the request and sends
database commands to the database server, and then acts as a conduit for passing
processed data from the database server to the clients, where it may be processed
further.
N-Tier Architecture: -
In N-Tier architecture, the middle tier is allowed to have multiple application objects
rather than a single application. Each of these application objects must have a well-
defined interface which allows them to contact and communication with one another.
An interface actually brings an idea of contract. That is, each object states through its
interface that it will accept certain parameters and return a specific set of results.
Application objects use their interfaces to do business processing. With and N-Tier
architecture, one can have multiple applications using a common set of business
objects across an organization. This promotes the standardization of business
practices by creating a single set of business functions for the entire organization to
VI BCA 27
event MANAGEMENT SYSTEM
access. If a particular business rule changes, then changes have to be made to only the
business object and if need, to its interface also.
Normalization: -
Normalization of data can be looked upon as a process of analyzing the given relation
schemas based on their functional dependencies and primary keys to achieve the
desirable properties of minimizing redundancy, insertion, deletion and update
anomalies.
First Normal Form: - It states that the domains of attributes must include only atomic
values and that the value of any attribute in a tuple must be single value from the
domain of that attribute. It disallows a set of values, a tuple of values, or a
combination of both as an attribute value for a single tuple.
Fourth Normal Form: - Under this, a record type should not contain two or more
independent multi-valued facts about an entity. In addition, the record must satisfy
third normal form.
Fifth Normal Form: - It also deals with multi-valued facts. Here, the record must
satisfy the fourth normal form.
VI BCA 28
event MANAGEMENT SYSTEM
VI BCA 29
event MANAGEMENT SYSTEM
At Oracle OpenWorld 2006, Oracle announced some exciting new features of Oracle 11g,
and they promise 482 new Oracle11g features. For me, the most exciting new features relate
to tools that automate the well-structured DBA tasks, freeing-up the DBA to pursue more
challenging work.
Oracle 11g is the clear leader in this area. Oracle has invested heavily into self-tuning
capabilities including automated storage and memory management and intelligent tuning
advisors. Now in 11g, Oracle closes the loop and offers intelligent automation tools to create
a self-healing database. The most important 11g new automation features include a SQL
tuning advisor that automatically tunes SQL statements.
Automatic Memory Tuning - Automatic PGA tuning was introduced in Oracle 9i.
Automatic SGA tuning was introduced in Oracle 10g. In 11g, all memory can be
tuned automatically by setting one parameter. PGA Update: Oracle technology is
constantly changing, so don't miss my new notes on updates to Oracle PGA behavior.
Also see these important notes on over-riding the Oracle PGA defaults.
SQL Performance Analyzer (Fully Automatic SQL Tuning) - Using SPA, you can
tell 11g to automatically apply SQL profiles for statements where the suggested
profile give 3-times better performance that the existing statement. The performance
comparisons are done by a new administrative task during a user-specified
maintenance window. See Inside the 11g SQL Performance Advisor.
Automated Storage Load balancing - Oracle?s Automatic Storage Management
(ASM) now enables a single storage pool to be shared by multiple databases for
optimal load balancing. Shared disk storage resources can alternatively be assigned to
individual databases and easily moved from one database to another as processing
requirements change.
Automatic Diagnostic Repository - When critical errors are detected, Oracle
automatically creates an ?incident? ticket, notifying the DBA instantly.
Let's get started with the Oracle11g new features for general database administration:
Enhanced ILM - Information Lifecycle Management (ILM) has been around for
decades, but Oracle has made a push to codify the approach in 11g. Read more about
Oracle 11g ILM here: Inside Oracle 11g ILM - Information lifecycle management.
Table-level control of CBO statistics refresh threshold - (source Lutz Hartmann)
When Oracle automatically enables statistics collection, the default "staleness"
threshold of 10% can now be changed with the dbms_stats.set_table_prefs procedure:
VI BCA 30
event MANAGEMENT SYSTEM
There are three new arguments to the set_table_prefs procedure, designed to allow the DBA
more control over the freshness of their statistics:
publish - Allows the DBA to test new statistics before publishing them to the data dictionary
This is an important 11g new feature because the DBA can now control the quality of
optimizer statistics at the table level, thereby improving the behavior of the SQL optimizer to
always choose the ?best? execution plan for any query.
File Group Repository - Oracle introduced an exciting new feature in 10gr2 dubbed
the Oracle File Group Repository (FGR). The FGR allows the DBA to define a
logically-related group of files and build a version control infrastructure. The
working of the Oracle file group repository were created to support Oracle Streams,
and they mimic the functionality of an IBM mainframe generation data group (GDG),
in that you can specify relative incarnations of the file sets (e.g. generation 0,
generation -3).
Interval partitioning for tables - This is a new 11g partitioning scheme that
automatically creates time-based partitions as new data is added. Source: Mark
Rittman This is a marvelous one ! You can now partition by date, one partition per
month for example, with automatic partition creation. Source: Laurent Schneider
New load balancing utilities -There are several new load balancing utilities in 11g
(first introduced in 10gr2):
Web server load balancing - The web cache component includes Apache
extension to load-balance transactions to the least-highly-loaded Oracle HTTP
server (OHS).
RAC instance load balancing - Staring in Oracle 10g release 2, Oracle JDBC
and ODP.NET provide connection pool load balancing facilities through
integration with the new ?load balancing advisory? tool. This replaces the
more-cumbersome listener-based load balancing technique.
Automated Storage Load balancing - Oracle?s Automatic Storage
Management (SAM) now enables a single storage pool to be shared by
multiple databases for optimal load balancing. Shared disk storage resources
can alternatively be assigned to individual databases and easily moved from
one database to another as processing requirements change.
Data Guard Load Balancing ? Oracle Data Guard allows for load balancing
between standby databases.
VI BCA 31
event MANAGEMENT SYSTEM
VI BCA 32
event MANAGEMENT SYSTEM
VI BCA 33
event MANAGEMENT SYSTEM
Oracle continues to enhance Real Application Clusters in Oracle11g and we see some
exciting new features in RAC manageability and enhanced performance:
Oracle 11g RAC parallel upgrades - Oracle 11g promises to have a rolling upgrade
features whereby RAC database can be upgraded without any downtime. Ellison first
promised this feature in 2002, and it is a very challenging and complex 11g new
feature.
Oracle RAC load balancing advisor - Starting in 10gr2 we see a RAC load
balancing advisor utility. Oracle says that the 11g RAC load balancing advisor is
only available with clients which use .NET, ODBC, or the Oracle Call Interface
(OCI).
ADDM for RAC - Oracle will incorporate RAC into the automatic database
diagnostic monitor, for cross-node advisories.
Interval Partitioning - Robert Freeman notes that 11g "interval Partitioning makes it
easier to manage partitions:
VI BCA 34
event MANAGEMENT SYSTEM
you can also embed XML directives inside PL/SQL and embed PL/SQL inside XML
code. Oracle 11g XML will also support schema-based document Type Definitions
(DTD's), to describe internal structure of the XML document.
Scalable Java - The next scalable execution feature is automatic creation of "native"
Java code, with just one parameter for each type with an "on/off" value. This
apparently provides a 100% performance boost for pure Java code, and a 10%-30%
boost for code containing SQL. Mark Rittman
Improved sequence management - A new features of Oracle 11g will bypass DML
(sequence.nextval) and allow normal assignments on sequence values.
Intra-unit inlining. In C, you can write a macro that gets inlined when called. Now
any stored procedure is eligible for inlining if Oracle thinks it will improve
performance. No change to your code is required. Now you have no reason for not
making everything a subroutine! Source: Lewis Cunningham
Disabled state for PL/SQL - Another 11g new feature is a "disabled" state for
PL/SQL (as opposed to "enabled" and "invalid" in dba_objects).
Easy PL/SQL compiling - Native Compilation no longer requires a C compiler to
compile your PL/SQL. Your code goes directly to a shared library. Source: Lewis
Cunningham
Improved PL/SQL stored procedure invalidation mechanism - A new 11g
features will be fine grained dependency tracking, reducing the number of objects
which become invalid as a result of DDL.
VI BCA 35
event MANAGEMENT SYSTEM
New "pivot" SQL clause - The new "pivot" SQL clause will allow quick rollup,
similar to an MS-Excel pivot table, where you can display multiple rows on one
column with SQL. MS SQL Server 2005 also introduced a pivot clause. Laurent
Schneider notes that the new SQL "pivot" syntax is great for converting rows-to-
columns and columns-to-rows.
The /*+result_cache*/ SQL hint - This suggests that the result data will be cached in
the data buffers, and not the intermediate data blocks that were accessed to obtain the
query results. You can cache SQL and PL/SQL results for super-fast subsequent
retrieval. The "result cache" ties into the "scalable execution" concept. There are
three areas of the result cache:
o The SQL query result cache - This is an area of SGA memory for storing
query results.
o The PL/SQL function result cache - This result cache can store the results
from a PL/SQL function call.
o The OCI client result cache - This cache retains results from OCI calls, both
for SQL queries or PL/SQL functions.
Scalable Execution - This 11g feature consists of a number of features, the first of
which is query results caching; this feature automatically caches the results of an SQL
query as opposed to the data blocks normally cached by the buffer cache, and works
both client (OCI) and server side - this was described as "buffer cache taken to the
next level". The DBA sets the size of the results cache and turns the feature on at a
table level with the command "alter table DEPT cache results", the per-process cache
is shared across multiple session and at the client level, is available with all 11g OCI-
based clients. Mark Rittman
XML SQL queries - Oracle11g will support query mechanisms for XML including
XQuery and SQL XML, emerging standards for querying XML data stored inside
tables.
VI BCA 36
event MANAGEMENT SYSTEM
SQL Replay - Similar to the previous feature, but this only captures and applies the
SQL workload, not total workload. Source: Dr. Tim Hall
Improved optimizer statistics collection speed - Oracle 11g has improved the
dbms_stats performance, allowing for an order of magnitude faster CBO statistics
creation. Oracle 11g has also separated-out the "gather" and "publish" operations,
allowing CBO statistics to be retained for later use. Also, Oracle 11g introduces
multi-column statistics to give the CBO the ability to more accurately select rows
when the WHERE clause contains multi-column conditions or joins.
SQL execution Plan Management - Oracle 11g SQL will allow you to fix execution
plans (explain plan) for specific statements, regardless of statistics or database version
changes. See Inside the 11g SQL Performance Advisor.
Dynamic SQL. DBMS_SQL is here to stay. It's faster and is being enhanced.
DBMS_SQL and NDS can now accept CLOBs (no more 32k limit on NDS). A ref
cursor can become a DBMS_SQL cursor and vice versa. DBMS_SQL now supprts
user defined types and bulk operations. Source: Lewis Cunningham
SQL Performance Advisor - You can tell 11g to automatically apply SQL profiles
for statements where the suggested profile give 3-times better performance that the
existing statement. The performance comparisons are done by a new administrative
task during a user-specified maintenance window.
Improved SQL Access Advisor - The 11g SQL Access Advisor gives partitioning
advice, including advice on the new interval partitioning. Interval partitioning is an
automated version of range partitioning, where new equally-sized partitions are
automatically created when needed. Both range and interval partitions can exist for a
single table, and range partitioned tables can be converted to interval partitioned
tables.
Oracle 11g SQL tuning transformations
Automatic Memory Tuning - Automatic PGA tuning was introduced in Oracle 9i.
Automatic SGA tuning was introduced in Oracle 10g. In 11g, all memory can be
tuned automatically by setting one parameter. You literally tell Oracle how much
memory it has and it determines how much to use for PGA, SGA and OS Processes.
Maximum and minimum thresholds can be set. This is controlled by the Oracle 11g
memory_target parameter.
Resource Manager - The 11g Resource Manager can manage I/O, not just CPU. You
can set the priority associated with specific files, file types or ASM disk groups.
ADDM - The ADDM in 11g can give advice on the whole RAC (database level), not
just at the instance level. Directives have been added to ADDM so it can ignore issues
you are not concerned about. For example, if you know you need more memory and
VI BCA 37
event MANAGEMENT SYSTEM
are sick of being told it, you can ask ADDM not to report those messages anymore.
Faster sorting - Starting in 10gr2 we see an improved sort algorithm, ?Oracle10gRw
introduced a new sort algorithm which is using less memory and CPU resources. A
hidden parameter _newsort_enabled = {TRUE|FALSE} governs whether the new sort
algorithm will be used.?
AWR Baselines - The AWR baselines of 10g have been extended to allow automatic
creation of baselines for use in other features. A rolling week baseline is created by
default.
Adaptive Metric Baselines - Notification thresholds in 10g were based on a fixed
point. In 11g, notification thresholds can be associated with a baseline, so the
notification thresholds vary throughout the day in line with the baseline.
Enhanced Password - Pete Finnigan notes some new Oracle 11g security features
"[Oracle 11g] will have case sensitive passwords and also the password algorithm has
changed to SHA-1 instead of the old DES based hashing used."
Oracle SecureFiles - replacement for LOBs that are faster than Unix files to
read/write. Lots of potential benefit for OLAP analytic workspaces, as the LOBs used
to hold AWs have historically been slower to write to than the old Express .db files.
Mark Rittman Securefiles are a huge improvement to BLOB data types. Faster, with
compression, encryption. Source: Laurent Schneider
Oracle 11g audit vault - Oracle Audit Vault is a new feature that will provide a
solution to help customers address the most difficult security problems remaining
today, protecting against insider threat and meeting regulatory compliance
requirements.
Proxy connect for SQL*Plus - New with 10r2 proxy identification in SQL*Plus, the
"connect" command has been enhanced to allow for a "proxy", to aid applications that
always connect with the same user ID:
connect sapr3[scott]/tiger
FGAC for UTL_SMTP, UTL_TCP and UTL_HTTP. You can define security on
ports and URLs. Source: Lewis Cunningham
Fine Grained Dependency Tracking (FGDT). This means that when you add a
column to a table, or a cursor to a package spec, you don't invalidate objects that are
dependant on them. Sweet! Source: Lewis Cunningham
Database Workload Replay - Oracle "Replay" allows the total database workload to
be captured, transferred to a test database created from a backup or standby database,
then replayed to test the affects of an upgrade or system change.
VI BCA 38
event MANAGEMENT SYSTEM
You specify the SQL tuning sets similar to the 10g offering and use the dbms_sqlpa package
(SQL performance analyzer) to manage the SQL each "analyzer task" with dbms_sqlpa
procedures (create_analysis_task, cancel_analysis_task, drop_analysis_task,
reset_analysis_task, report_analysis_task, resume_analysis_task, interrupt_analysis_task).
Currently, they are working to a capture performance overhead of 5%, so you could
conceivably capture real production workloads. Source: Dr. Tim Hall
VI BCA 39
event MANAGEMENT SYSTEM
Change assurance (important for saving money during testing and migration)
Change assurance new features of Database Replay and SQL Replay can play a large
role in reducing costs, testing and issues when migrating to Oracle Database 11g. This
is one of the best new features in this release.
Database replay - captures actual production workload and replays it on a separate
system.
SQL performance analyzer - finds and fixes SQL performance degradations
10gR2 will have a patch set, that will allow the replay to occur.
Mark Rittman notes some of the upcoming features with Oracle 11g BI suite and OLAP:
"However, in 10g OLAP although you could register a view over aggregated data in an
analytic workspace with query rewrite, ?normal? queries that used SUM(), AVG() and other
aggregation functions, together with GROUP BY, wouldn?t get rewritten as the SQL views
used over analytic workspaces were based on fully-solved cubes, i.e. the view contained all
levels of aggregation and measures were already aggregated. . .
VI BCA 40
event MANAGEMENT SYSTEM
Now, with this forthcoming release of Oracle OLAP, you can just check a box in Analytic
Workspace Manager to enable queries against the source tables for your analytic workspace
to be re-written against the summary data in your analytic workspace, and your OLAP cube
will then act in the same way as a regular materialized view, meaning the two technologies
(in theory) will be interchangeable as a way of summarizing warehouse data. "
With the release of the first book on ODM "Oracle Data Mining", we see increased interest in
data mining within 11g and there are rumors that ODM will be greatly enhanced, moving
data mining objects into the dictionary and improving the interface for complex analytics.
-asmca introduction
-disk can be force mount/delete
-metadata backup
-asm and cluster in same software
-asm disk check
-fast start mirror resync
-sysasm role
VI BCA 41
event MANAGEMENT SYSTEM
Oracle released a new version of Java as Java 8 in March 18, 2014. It was a revolutionary
release of the Java for software development platform. It includes various upgrades to the
Java programming, JVM, Tools and libraries.
Lambda expressions,
Method references,
Functional interfaces,
Stream API,
Default methods,
Base64 Encode Decode,
Static methods in interface,
Optional class,
Collectors class,
ForEach() method,
Parallel array sorting,
Nashorn JavaScript Engine,
Parallel Array Sorting,
Type and Repating Annotations,
IO Enhancements,
Concurrency Enhancements,
JDBC Enhancements etc.
Lambda Expressions
Lambda expression helps us to write our code in functional style. It provides a clear and
concise way to implement SAM interface(Single Abstract Method) by using an expression. It
is very useful in collection library in which it helps to iterate, filter and extract data.
Method References
Java 8 Method reference is used to refer method of functional interface . It is compact and
easy form of lambda expression. Each time when you are using lambda expression to just
referring a method, you can replace your lambda expression with method reference.
Functional Interface
VI BCA 42
event MANAGEMENT SYSTEM
An Interface that contains only one abstract method is known as functional interface. It can
have any number of default and static methods. It can also declare methods of object class.
Functional interfaces are also known as Single Abstract Method Interfaces (SAM Interfaces).
Optional
Java introduced a new class Optional in Java 8. It is a public final class which is used to deal
with NullPointerException in Java application. We must import java.util package to use this
class. It provides methods to check the presence of value for particular variable.
forEach
Java provides a new method forEach() to iterate the elements. It is defined in Iterable and
Stream interfaces.
It is a default method defined in the Iterable interface. Collection classes which extends
Iterable interface can use forEach() method to iterate elements.
This method takes a single parameter which is a functional interface. So, you can pass
lambda expression as an argument.
Date/Time API
Java has introduced a new Date and Time API since Java 8. The java.time package contains
Java 8 Date and Time classes.
Default Methods
Java provides a facility to create default methods inside the interface. Methods which are
defined inside the interface and tagged with default keyword are known as default methods.
These methods are non-abstract methods and can have method body.
StringJoiner
VI BCA 43
event MANAGEMENT SYSTEM
Java added a new final class StringJoiner in java.util package. It is used to construct a
sequence of characters separated by a delimiter. Now, you can create string by passing
delimiters like comma(,), hyphen(-) etc.
Collectors
Collectors is a final class that extends Object class. It provides reduction operations, such as
accumulating elements into collections, summarizing elements according to various criteria
etc.
Stream API
Stream Filter
Java stream provides a method filter() to filter stream elements on the basis of given
predicate. Suppose, you want to get only even elements of your list, you can do this easily
with the help of filter() method.
This method takes predicate as an argument and returns a stream of resulted elements.
Java provides a class Base64 to deal with encryption and decryption. You need to import
java.util.Base64 class in your source file to use its methods.
This class provides three different encoders and decoders to encrypt information at each
level.
Java provides a new additional feature in Arrays class which is used to sort array elements
parallelly. The parallelSort() method has added to java.util.Arrays class that uses the JSR 166
Fork/Join parallelism common pool to provide sorting of arrays. It is an overloaded method.
1) The Java Secure Socket Extension(JSSE) provider enables the protocols Transport Layer
Security (TLS) 1.1 and TLS 1.2 by default on the client side.
VI BCA 44
event MANAGEMENT SYSTEM
4) Java Secure Socket Extension (SunJSSE) has enabled Server Name Indication (SNI)
extension for client applications by default in JDK 7 and JDK 8 supports the SNI extension
for server applications. The SNI extension is a feature that extends the SSL/TLS protocols to
indicate what server name the client is attempting to connect to during handshaking.
6) A new command flag -importpassword is added to the keytool utility. It is used to accept a
password and store it securely as a secret key. Classes such as
java.security.DomainLoadStoreParameter andjava.security.PKCS12Attribute is added to
support DKS keystore type.
7) In JDK 8, the cryptographic algorithms have been enhanced with the SHA-224 variant of
the SHA-2 family of message-digest implementations.
Two new implementations has introduced for UNIX platforms, which provide blocking and
non-blocking behavior.
10) A new PKIXRevocationChecker class is included which checks the revocation status of
certificates with the PKIX algorithm. It supports best effort checking, end-entity certificate
checking, and mechanism-specific options.
11) The Public Key Cryptography Standards 11 (PKCS) has been expanded to include 64-bit
supports for Windows.
12) Two new rcache types are added to Kerberos 5. Type none means no rcache at all, and
type dfl means the DFL style file-based rcache. Also, the acceptor requested subkey is now
supported. They are configured using the sun.security.krb5.rcache and
sun.security.krb5.acceptor.subkey system properties.
VI BCA 45
event MANAGEMENT SYSTEM
13) In JDK 8, Kerberos 5 protocol transition and constrained delegation are supported within
the same realm.
14) Java 8 has disabled weak encryption by default. The DES-related Kerberos 5 encryption
types are not supported by default. These encryption types can be enabled by adding
allow_weak_crypto=true in the krb5.conf file.
15) You can set server name to null to denote an unbound server. It means a client can
request for the service using any server name. After a context is established, the server can
retrieve the name as a negotiated property with the key name
SASL.BOUND_SERVER_NAME.
16) Java Native Interface (JNI) bridge to native Java Generic Security Service (JGSS) is now
supported on Mac OS X. You can set system property sun.security.jgss.native to true to
enable it.
18) Java Secure Socket Extension (JSSE) provider honors the client's cipher suite preference
by default. However, the behavior can be changed to respect the server's cipher suite
preference by calling SSLParameters.setUseCipherSuitesOrder(true) over the server.
1) A jjs command is introduced, which invokes the Nashorn engine either in interactive shell
mode, or to interpret script files.
2) The java command is capable of launching JavaFX applications, provided that the JavaFX
application is packaged correctly.
3) The java command man page (both nroff and HTML) has been completely reworked. The
advanced options are now divided into Runtime, Compiler, Garbage Collection, and
Serviceability, according to the area that they affect. Several previously missing options are
now described. There is also a section for options that were deprecated or removed since the
previous release.
4) New jdeps command-line tool allows the developer to analyze class files to determine
package-level or class-level dependencies.
5) You can access diagnostic commands remotely, which were previously accessible only
locally via the jcmd tool. Remote access is provided using the Java Management Extensions
(JMX), so diagnostic commands are exposed to a platform MBean registered to the platform
MBean server. The MBean is the com.sun.management.DiagnosticCommandMBean
interface.
6) A new option -tsapolicyid is included in the jarsigner tool which enables you to request a
signed time stamp from a Time Stamping Authority and attach it to a signed JAR file.
VI BCA 46
event MANAGEMENT SYSTEM
8) The type rules for binary comparisons in the Java Language Specification (JLS) Section
15.21 will now be correctly enforced by javac.
9) In this release, the apt tool and its associated API contained in the package com.sun.mirror
have been removed.
Javadoc Enhancements
In Java SE 8, the following new APIs were added to the Javadoc tool.
A new DocTree API introduce a scanner which enables you to traverse source code that is
represented by an abstract syntax tree. This extends the Compiler Tree API to provide
structured access to the content of javadoc comments.
The javax.tools package contains classes and interfaces that enable you to invoke the
Javadoc tool directly from a Java application, without executing a new process.
The "Method Summary" section of the generated documentation of a class or interface has
been restructured. Method descriptions in this section are grouped by type. By default, all
methods are listed. You can click a tab to view methods of a particular type (static, instance,
abstract, concrete, or deprecated, if they exist in the class or interface).
The javadoc tool now has support for checking the content of javadoc comments for issues
that could lead to various problems, such as invalid HTML or accessibility issues, in the files
that are generated by javadoc. The feature is enabled by default, and can also be controlled
by the new -Xdoclint option.
Pack200 Enhancements
The Java class file format has been updated because of JSR 292 which Supports Dynamically
Typed Languages on the Java Platform.
The Pack200 engine has been updated to ensure that Java SE 8 class files are compressed
effectively. Now, it can recognize constant pool entries and new bytecodes introduced by JSR
292. As a result, compressed files created with this version of the pack200 tool will not be
compatible with older versions of the unpack200 tool.
In Java 8, there are several improvements to the java.nio.charset.Charset and extended charset
implementations. It includes the following:
A New SelectorProvider which may improve performance or scalability for server. The
/dev/poll SelectorProvider continues to be the default. To use the Solaris event port
mechanism, run with the system property java.nio.channels.spi.Selector set to the value
sun.nio.ch.EventPortSelectorProvider.
VI BCA 47
event MANAGEMENT SYSTEM
2) A package jdk.net has been added which contains platform specific socket options and a
mechanism for setting these options on all of the standard socket types. The socket options are
defined in jdk.net.ExtendedSocketOptions.
If automatic redirection is enabled, and this request is redirected to another destination, the
caller must also have permission to connect to the redirected host/URL.
The java.util.concurrent package added two new interfaces and four new classes.
Java.util.concurrent Interfaces
Interface Description
Java.util.concurrent Classes
Class Description
VI BCA 48
event MANAGEMENT SYSTEM
ConcurrentHashMap class introduces several new methods in its latest release. It includes
various forEach methods (forEach, forEachKey, forEachValue, and forEachEntry), search
methods (search, searchKeys, searchValues, and searchEntries) and a large number of
reduction methods (reduce, reduceToDouble, reduceToLong etc.). Other miscellaneous
methods (mappingCount and newKeySet) have been added as well.
Latest release introduces scalable, updatable, variable support through a small set of new
classes DoubleAccumulator, DoubleAdder, LongAccumulator andLongAdder. It internally
employ contention-reduction techniques that provide huge throughput improvements as
compared to Atomic variables.
Class Description
public class DoubleAdder extends Number It is used for one or more variables that together
implements Serializable maintain an initially zero double sum.
public class LongAdder extends Number It is used for one or more variables that together
implements Serializable maintain an initially zero long sum.
VI BCA 49
event MANAGEMENT SYSTEM
This class has added two new methods getCommonPoolParallelism() and commonPool(),
which return the targeted parallelism level of the common pool, or the common pool instance,
respectively.
Method Description
Public static int It returns the targeted parallelism level of the common
getCommonPoolParallelism() pool.
A new class StampedLock is added which is used to add capability-based lock with three
modes for controlling read/write access (writing, reading, and optimistic reading). This class
also supports methods that conditionally provide conversions across the three modes.
Class Description
public class StampedLock extends Object This class represents a capability-based lock with three
implements Serializable modes for controlling read/write access.
In Java 8, Java API is added for XML Processing (JAXP) 1.6. It requires the use of the
service provider loader facility which is defined by java.util.ServiceLoader to load services
from service configuration files.
The rationale for this is to allow for future modularization of the Java SE platform where
service providers may be deployed by means other than JAR files and perhaps without the
service configuration files.
The verification of invokespecial instructions has been tightened so that only an instance
initialization method in the current class or its direct super class may be invoked.
Java Mission Control (JMC) is an advanced set of tools that enables efficient and detailed
data analysis and delivers advanced, unobtrusive Java monitoring and management. JMC
provides sections for common analysis areas such as code performance, memory and latency.
Babel Language Packs in Japanese and Simplified Chinese are now included by default in the
Java Mission Control that is included in the JDK 8.
VI BCA 50
event MANAGEMENT SYSTEM
The JDK 8 includes support for Unicode 6.2.0. It contains the following features.
7 new scripts:
o Meroitic Hieroglyphs
o Meroitic Cursive
o Sora Sompeng
o Chakma
o Sharada
o Takri
o Miao
11 new blocks: including 7 blocks for the new scripts listed above and 4 blocks for the
following existing scripts:
Arabic Extended-A
Sundanese Supplement
Meetei Mayek Extensions
Arabic Mathematical Alphabetical Symbols
The Unicode Consortium has released the Common Locale Data Repository (CLDR) project
to "support the world's languages, with the largest and most extensive standard repository of
locale data available." The CLDR is becoming the de-facto standard for locale data. The
CLDR's XML-based locale data has been incorporated into the JDK 8 release, however it is
disabled by default.
CLDR represents the locale data provided by the Unicode CLDR project.
HOST represents the current user's customization of the underlying operating system's
settings. It works only with the user's default locale, and the customizable settings may vary
depending on the OS, but primarily Date, Time, Number, and Currency formats are
supported.
SPI represents the locale sensitive services implemented in the installed SPI providers.
JRE represents the locale data that is compatible with the prior JRE releases.
To select the desired locale data source, use the java.locale.providers system property. listing
the data sources in the preferred order. For example:
java.locale.providers=HOST,SPI,CLDR,JRE The default behavior is equivalent to the
following setting: java.locale.providers=JRE,SPI
VI BCA 51
event MANAGEMENT SYSTEM
The JDK 8 includes two new classes, several new methods, and a new return value for an
existing static method.
Two new abstract classes for service providers are added to the java.util.spi package.
Class Description
public abstract class CalendarDataProvider It is an abstract class for service providers that provide
extends LocaleServiceProvider locale-dependent Calendar parameters.
public abstract class It is an abstract class for service providers that provide
CalendarNameProvider extends localized string representations (display names) of
LocaleServiceProvider Calendar field values.
Method Description
Method Description
Specifier Description
VI BCA 52
event MANAGEMENT SYSTEM
public static final int It is a style specifier for getDisplayName and getDisplayNames
SHORT_FORMAT indicating a short name used for format.
public static final int It is a style specifier for getDisplayName and getDisplayNames
LONG_FORMAT indicating a long name used for format.
Two new Locale methods for dealing with a locale's (optional) extensions.
Method Description
public boolean
It returns true if this Locale has any extensions.
hasExtensions()
public Locale It returns a copy of this Locale with no extensions. If this Locale has no
stripExtensions() extensions, this Locale is returned itself.
Two new Locale.filter methods return a list of Locale instances that match the specified
criteria, as defined in RFC 4647:
Method Description
Two new Locale.filterTags methods return a list of language tags that match the specified
criteria, as defined in RFC 4647.
Method Description
public static List<String> It returns a list of matching languages tags using the
VI BCA 53
event MANAGEMENT SYSTEM
Two new lookup methods return the best-matching locale or language tag using the lookup
mechanism defined in RFC 4647.
Method Description
1) The frequency in which the security prompts are shown for an application has been
reduced.
1) An option to suppress offers from sponsors when the JRE is installed or updated is
available in the Advanced tab of the Java Control Panel.
2) The Entry-Point attribute can be included in the JAR file manifest to identify one or more
classes as a valid entry point for your RIA(Rich Internet application).
1) The javafxpackager tool has been renamed to javapackager. This tool has been enhanced
with new arguments for self-contained application bundlers.
VI BCA 54
event MANAGEMENT SYSTEM
An experimental JIT compiler option related to Restricted Transactional Memory (RTM) has
been added.
Several options related to string deduplication have been added.
Several options related to Advanced Encryption Standard (AES) intrinsics have been added.
Combinations of garbage collection options have been deprecated.
2) Garbage Collection Tuning Guide has been added to the Java HotSpot Virtual Machine. It
describes the garbage collectors included with the Java HotSpot VM and helps you to decide
which garbage collector can best optimize the performance of your application, especially if
it handles large amounts of data (multiple gigabytes), has many threads, and has high
transaction rates.
1) In this release, the SSLv3 protocol is removed from the Java Control Panel Advanced
options.
2) Java Flight Recorder (JFR) offers a variety of ways to unlock commercial features and
enable JFR during the runtime of an application.
It includes java command line options such as jcmd diagnostic commands and Graphical
User Interface (GUI) controls within Java Mission Control. This flexibility enables you to
provide the appropriate options at startup, or interact with JFR later.
5) In Java 8, Application Class Data Sharing (AppCDS) has been introduced. AppCDS
extends CDS (Class Data Sharing) to enable classes from the standard extensions directories
and the application class path to be placed in the shared archive. This is a commercial feature
and is no longer considered experimental.
VI BCA 55
event MANAGEMENT SYSTEM
7) Additional information about large pages has been added. Large Pages, also known as
huge pages, are memory pages that are significantly larger than the standard memory page
size. Large pages optimize processor Translation-Lookaside Buffers. The Linux options -XX:
+UseHugeTLBFS, -XX:+UseSHM, and -XX:+UseTransparentHugePages have been
documented.
JJS tool
2) The option --language=[es5] has been added to the jjs tool. It specifies the ECMAScript
language version.
Javapackager tool
Jcmd tool
Jcmd tool is used to dynamically interact with Java Flight Recorder (JFR). You can use it to
unlock commercial features, enable/start/stop flight recordings, and obtain various status
messages from the system.
Jstat tool
The jstat tool has been updated with information about compressed class space which is a
special part of metaspace.
Virtual machine
The Scalable Native Memory Tracking HotSpot VM feature helps diagnose VM memory
leaks and clarify users when memory leaks are not in the VM. Native Memory Tracker can
be run without self-shutdown on large systems and without causing a significant performance
impact beyond what is considered acceptable for small programs.
VI BCA 56
event MANAGEMENT SYSTEM
VI BCA 57
event MANAGEMENT SYSTEM
6. SYSTEM DESIGN
VI BCA 58
event MANAGEMENT SYSTEM
phone varchar2(11),
address varchar2(50),
companyname varchar2(20),
balanceamt number(10,2)
);
VI BCA 59
event MANAGEMENT SYSTEM
VI BCA 60
event MANAGEMENT SYSTEM
VI BCA 61
event MANAGEMENT SYSTEM
Sequences Used
-----------------------------------------------------------------------------------------------------------
VI BCA 62
event MANAGEMENT SYSTEM
VI BCA 63
event MANAGEMENT SYSTEM
6.4 ER DIAGRAM
VI BCA 64
event MANAGEMENT SYSTEM
VI BCA 65
event MANAGEMENT SYSTEM
7. TESTING
Compatibility of our web site is very important testing aspect. See which compatibility
test to be executed:
Browser compatibility
Operating system compatibility
Mobile browsing
Printing options
Browser compatibility:
Some applications are very dependent on browsers. Different browsers have different
configurations and settings that your web page should be compatible with. Your web site
coding should be cross browser platform compatible. If you are using java scripts or
AJAX calls for UI functionality, performing security checks or validations then give more
stress on browser compatibility testing of your web application. Test web application on
different browsers like Internet explorer, Firefox, Netscape navigator, AOL, Safari,
Opera, Chrome browsers with different versions.
OS compatibility:
Some functionality in your web application is may not be compatible with all operating
systems. All new technologies used in web development like graphics designs, interface
calls like different API’s may not be available in all Operating Systems.
Test your web application on different operating systems like Windows, Unix, MAC,
Linux, Solaris with different OS flavors.
VI BCA 66
event MANAGEMENT SYSTEM
VI BCA 67
event MANAGEMENT SYSTEM
VI BCA 68
event MANAGEMENT SYSTEM
8. SCREENS
VI BCA 69
event MANAGEMENT SYSTEM
VI BCA 70
event MANAGEMENT SYSTEM
VI BCA 71
event MANAGEMENT SYSTEM
VI BCA 72
event MANAGEMENT SYSTEM
VI BCA 73
event MANAGEMENT SYSTEM
VI BCA 74
event MANAGEMENT SYSTEM
VI BCA 75
event MANAGEMENT SYSTEM
VI BCA 76
event MANAGEMENT SYSTEM
VI BCA 77
event MANAGEMENT SYSTEM
VI BCA 78
event MANAGEMENT SYSTEM
VI BCA 79
event MANAGEMENT SYSTEM
REGISTRATION.HTML
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function checkForEmpty(form)
{
cn = document.regform.mname.value;
caddr = document.regform.maddress.value;
phno = document.regform.mphone.value;
em = document.regform.memail.value;
if(cn.length == 0 || cper.length == 0 || caddr.length == 0 || phno.length == 0 || pin.length ==
0 || em.length == 0 || faxnum.length == 0)
{
alert("Please fill all the fields");
return false;
}
else
return true;
}
function checkNum1(form)
{
str = document.regform.mname.value;
var i, x ;
for(i=0; i< str.length; i++)
{
x = charAt(i);
if(x >= 0 && x <= 9)
{
alert("please enter only alphabet");
document.regform.mname.value= "";
VI BCA 80
event MANAGEMENT SYSTEM
//return false;
}
}
// return true;
}
function checkPhno()
{
var retval = true;
var pno = document.regform.mphone.value;
var stripped = pno.replace(/[\(\)\.\-\ ]/g, '');
//strip out acceptable non-numeric characters
if (isNaN(parseInt(stripped))) {
alert("The phone number contains illegal characters.");
document.regform.mphone.value="";
retval = false;
}
if(pno.length != 10)
{
alert("Illegal length");
document.regform.mphone.value="";
retval = false;
}
return retval;
}
function emailValid()
{
var aemail = document.regform.memail.value;
//if email field is empty - warning displays and return false
if(aemail=="")
{
alert ("This field is required. Please enter email [email protected]")
return false
}
VI BCA 81
event MANAGEMENT SYSTEM
VI BCA 82
event MANAGEMENT SYSTEM
return true
}
function isAlpha(parm,num)
{
//var parm = document.f1.T1.value;
var lwr = 'abcdefghijklmnopqrstuvwxyz .';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
return isValid(parm,num,lwr+upr);
}
function isValid(parm,num,val) {
if (parm == "")
{
alert("Please enter text");
return false;
}
for (i=0; i<parm.length; i++) {
if (val.indexOf(parm.charAt(i),0) == -1)
{
alert("please enter only alphabet");
if(num==1)
document.regform.mname.value="";
return false;
}
}
return true;
}
function checkfill()
{
var ele;
var flag=true;
var ecount=document.regform.elements.length;
for(i=0;i<ecount;i++)
{
VI BCA 83
event MANAGEMENT SYSTEM
ele=document.regform.elements[i].value;
if(ele.length==0)
{
window.alert("Please fill all fields");
flag=false;
break;
}
}
return flag;
}
</script>
<style type="text/css">
td,a,h1
{
color: white;
}
a:hover
{
color: yellow;
}
</style>
</head>
<body background="rbg8.jpg">
<center><h1>REGISTRATION FORM</h1>
<hr/>
<form name="regform" action="regprocess.jsp" method="post" onsubmit="return
checkfill();">
<table width="60%" >
<tr>
<td >
<table>
<tr><td>
<img src="join.png" />
VI BCA 84
event MANAGEMENT SYSTEM
</td>
</tr>
</table></td>
<td>
<table>
<tr> <td>Name</td>
<td><input type="text" name="mname" value="" onblur="checkNum1()"/>
</td></tr>
<tr> <td>Address</td>
<td><input type="text" name="maddress" value=""/>
</td></tr>
<tr> <td>Email</td>
<td><input type="text" name="memail" value="" onblur="emailValid()"/>
</td></tr>
<tr> <td>Phone</td>
<td><input type="text" name="mphone" value="" onblur="checkPhno()" />
</td></tr>
<tr> <td>Company Details</td>
<td><input type="text" name="mcompanydetails" value=""/>
</td></tr>
<tr><td><input type="submit" name="s1" value="Register"/>
</td><td><input type="reset" name="r1" value="clear"/>
</td>
</tr>
</table>
</tr>
</table>
</form>
</center>
</body>
</html>
VI BCA 85
event MANAGEMENT SYSTEM
REGISTRATION.JSP
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean class="emspack.PasswordBean" id="pb" scope="request"></jsp:useBean>
<%@page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String un = request.getParameter("mname");
String uadr = request.getParameter("maddress");
String uem = request.getParameter("memail");
String uph = request.getParameter("mphone");
String ucomdet = request.getParameter("mcompanydetails");
String pwd = pb.genPwd();
String uid = "emsuser";
Connection c = null;
Statement s = null;
ResultSet r = null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c = DriverManager.getConnection("jdbc:odbc:sspemsdsn","scott","tiger");
s = c.createStatement();
r = s.executeQuery("select userseq.nextval from dual");
while(r.next())
{
uid += r.getInt(1);
}
VI BCA 86
event MANAGEMENT SYSTEM
s = c.createStatement();
s.executeUpdate("insert into emsclients values('" + uid + "','" + un + "','" + uem +
"','" + uph + "','" + uadr + "','" + ucomdet + "',0)");
s = c.createStatement();
s.executeUpdate("insert into emslogin values('" + uid + "','" + pwd + "','client')");
%>
<h1>Your registration is confirmed. Welcome to EMS</h1>
<hr />
<h2>Your user name is <%= uid %></h2>
<h2>Your password is <%= pwd %></h2>
<h3><a href="login.html">CLICK HERE TO LOGIN</a></h3>
<% }
catch(Exception e)
{
%>
<h1><%= e %> </h1>
<% }
%>
</body>
</html>
REGISTRATION SERVLET
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import emspack.UserCreation;
public class UserCreServ extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
methods.
VI BCA 87
event MANAGEMENT SYSTEM
VI BCA 88
event MANAGEMENT SYSTEM
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
PrintWriter out = response.getWriter();
String s1=request.getParameter("T1");
String s2=request.getParameter("T2");
String s3=request.getParameter("T3");
String s4=request.getParameter("T4");
String s5=request.getParameter("T5");
double s6=Double.parseDouble(request.getParameter("T6"));
String s7=request.getParameter("T7");
UserCreation ua=new UserCreation();
ua.userCreation(s1, s2, s3, s4, s5,s6,s7);
String eid=ua.getEmpId();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet UserCreServ</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>EMPLOYEE ID: " + eid + "</h1><br>");
out.println("</body>");
out.println("</html>");
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
VI BCA 89
event MANAGEMENT SYSTEM
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:sspemsdsn","scott","tiger");
st = con.createStatement();
rs=st.executeQuery("select sspempidseq.nextval from dual");
while(rs.next())
VI BCA 90
event MANAGEMENT SYSTEM
{
id=Integer.parseInt(rs.getString(1));
}
eid = "SSPEMP" + id;
st1 = con.createStatement();
st1.executeUpdate("insert into emsemployee values('" + eid + "','" + name + "','"
+ gender + "','" + email + "','" + addr + "','" + phno + "'," + sal + ",'" + jobcat +
"','AVAILABLE')");
}
catch(Exception e)
{
System.out.println(e);
}
}
public String getEmpId()
{
return(eid);
}
}
VI BCA 91
event MANAGEMENT SYSTEM
PASSWORD BEAN
package emspack;
import java.util.Random;
public class PasswordBean {
public String genPwd()
{
String
alphanumerals="ABCDEFGHIJKLMNOPQRSTRUVWXYZabcdefghijklmnopqrstuvwxyz0
123456789";
Random r=new Random();
String pwd="";
for(int i=0;i<8;i++)
{
pwd+=alphanumerals.charAt(r.nextInt(61));
}
return(pwd);
}
}
EVENT CART BEAN
package emspack;
import java.util.Hashtable;
import java.util.Enumeration;
public class EventCart {
protected Hashtable decoration = new Hashtable();
protected Hashtable music = new Hashtable();
protected Hashtable photo = new Hashtable();
protected Hashtable makeup = new Hashtable();
protected Hashtable funiture = new Hashtable();
protected Hashtable catering = new Hashtable();
VI BCA 92
event MANAGEMENT SYSTEM
VI BCA 93
event MANAGEMENT SYSTEM
removeItemCatering(itemname);
addItemCatering(name,price,units);
}
break;
}
}
}
public void updateQuantityCatering(String itemId, int quantity) {
if (catering.contains(itemId)) {
String[] tmpItem = (String[])catering.get(itemId);
tmpItem[3] = Integer.toString(quantity);
}
}
public Enumeration getEnumerationCatering() {
return catering.elements();
}
public float getCostCatering() {
Enumeration e = catering.elements();
String[] tmpItem;
int totalCost = 0;
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
totalCost += Integer.parseInt(tmpItem[1]) * Integer.parseInt(tmpItem[2]);
}
return totalCost;
}
public int getNumOfItemsCatering() {
Enumeration e = catering.elements();
int num = 0;
VI BCA 94
event MANAGEMENT SYSTEM
while (e.hasMoreElements()) {
num++;
}
return num;
}
//HASHTABLE FOR FURNITURE CART
public void addItemFurniture(String itemid, String itemname, int rate,int numunits) {
if(numunits > 0){
String[] item = {itemid,itemname, Integer.toString(rate),Integer.toString(numunits)};
funiture.put(itemid, item);
}
}
public void removeItemFurniture(String itemId) {
if (funiture.containsKey(itemId))
{
funiture.remove(itemId);
}
}
public void deductItemFurniture(String itemid, int qty)
{
Enumeration e = funiture.elements();
String[] tmpItem;
String id="";
String name="";
int price=0;
int units = 0;
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
if(itemid.equals(tmpItem[0]))
{
units = Integer.parseInt(tmpItem[3]);
if(qty >= units)
VI BCA 95
event MANAGEMENT SYSTEM
removeItemFurniture(itemid);
else
{
id = tmpItem[0];
name=tmpItem[1];
price=Integer.parseInt(tmpItem[2]);
units = units - qty;
removeItemFurniture(itemid);
addItemFurniture(id,name,price,units);
}
break;
}
}
}
public void updateQuantityFruniture(String itemId, int quantity) {
if (funiture.contains(itemId)) {
String[] tmpItem = (String[])funiture.get(itemId);
tmpItem[3] = Integer.toString(quantity);
}
}
public Enumeration getEnumerationFurniture() {
return funiture.elements();
}
public float getCostFurniture() {
Enumeration e = funiture.elements();
String[] tmpItem;
int totalCostf = 0;
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
totalCostf += Integer.parseInt(tmpItem[1]) * Integer.parseInt(tmpItem[2]);
}
return totalCostf;
VI BCA 96
event MANAGEMENT SYSTEM
}
public int getNumOfItemsFurniture() {
Enumeration e = funiture.elements();
//String[] tmpItem;
int numf = 0;
while (e.hasMoreElements()) {
numf++;
}
return numf;
}
//HASHTABLE FOR PHOTO/VIDEO CART
public void addItemPhoto( String itemname, int rate,int numunits) {
if(numunits > 0){
String[] item = {itemname, Integer.toString(rate),Integer.toString(numunits)};
photo.put(itemname, item);
}
}
public void removeItemPhoto(String itemname) {
if (photo.containsKey(itemname))
{
photo.remove(itemname);
}
}
public void deductItemPhoto(String itemname, int qty)
{
Enumeration e = photo.elements();
String[] tmpItem;
String id="";
String name="";
int price=0;
int units = 0;
while (e.hasMoreElements())
{
VI BCA 97
event MANAGEMENT SYSTEM
tmpItem = (String[])e.nextElement();
if(itemname.equals(tmpItem[0]))
{
units = Integer.parseInt(tmpItem[2]);
if(qty >= units)
removeItemPhoto(itemname);
else
{
name=tmpItem[0];
price=Integer.parseInt(tmpItem[1]);
units = units - qty;
removeItemPhoto(itemname);
addItemPhoto(name,price,units);
}
break;
}
}
}
public void updateQuantityPhoto(String itemId, int quantity) {
if (photo.contains(itemId)) {
String[] tmpItem = (String[])photo.get(itemId);
tmpItem[3] = Integer.toString(quantity);
}
}
public Enumeration getEnumerationPhoto() {
return photo.elements();
}
public float getCostPhoto() {
Enumeration e = photo.elements();
String[] tmpItem;
int totalCostp = 0;
while (e.hasMoreElements())
{
VI BCA 98
event MANAGEMENT SYSTEM
tmpItem = (String[])e.nextElement();
totalCostp += Integer.parseInt(tmpItem[1]) * Integer.parseInt(tmpItem[2]);
}
return totalCostp;
}
public int getNumOfItemsPhoto() {
Enumeration e = photo.elements();
int nump = 0;
while (e.hasMoreElements()) {
nump++;
}
return nump;
}
//HASHTABLE FOR DECORATION CART
public void addItemDecoration(String itemtype, String itemname, int rate, int qty) {
String[] item = {itemtype,itemname, Integer.toString(rate),Integer.toString(qty)};
decoration.put(itemtype, item);
}
public void removeItemDecoration(String itemname)
{
if (decoration.containsKey(itemname))
{
decoration.remove(itemname);
}
}
/*public void deductItemDecoration(String itemname, int qty)
{
Enumeration e = decoration.elements();
String[] tmpItem;
String id="";
String name="";
int price=0;
int units = 0;
VI BCA 99
event MANAGEMENT SYSTEM
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
if(itemname.equals(tmpItem[0]))
{
units = Integer.parseInt(tmpItem[2]);
if(qty >= units)
removeItemDecoration(itemname);
else
{
name=tmpItem[0];
price=Integer.parseInt(tmpItem[1]);
units = units - qty;
removeItemDecoration(itemname);
addItemDecoration(name,price,units);
}
break;
}
}
}*/
/*public void updateQuantityDecoration(String itemId, int quantity) {
if (decoration.contains(itemId)) {
String[] tmpItem = (String[])decoration.get(itemId);
tmpItem[3] = Integer.toString(quantity);
}
}*/
public Enumeration getEnumerationDecoration() {
return decoration.elements();
}
public float getCostDecoration() {
Enumeration e = decoration.elements();
String[] tmpItem;
int totalCostd = 0;
VI BCA 100
event MANAGEMENT SYSTEM
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
totalCostd += (Integer.parseInt(tmpItem[2]) * Integer.parseInt(tmpItem[3]));
}
return totalCostd;
}
public int getNumOfItemsDecoration() {
Enumeration e = decoration.elements();
int numd = 0;
while (e.hasMoreElements()) {
numd++;
}
return numd;
}
//HASHTABLE FOR MUSIC CART
public void addItemMusic(String itemname, int rate) {
String[] item = {itemname, Integer.toString(rate)};
music.put(itemname, item);
}
public void removeItemMusic(String itemname) {
Enumeration e = music.elements();
while (e.hasMoreElements())
{
if (music.containsKey(itemname))
{
music.remove(itemname);
break;
}
}
}
/*public void deductItemDecoration(String itemname, int qty)
{
VI BCA 101
event MANAGEMENT SYSTEM
Enumeration e = decoration.elements();
String[] tmpItem;
String id="";
String name="";
int price=0;
int units = 0;
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
if(itemname.equals(tmpItem[0]))
{
units = Integer.parseInt(tmpItem[2]);
if(qty >= units)
removeItemDecoration(itemname);
else
{
name=tmpItem[0];
price=Integer.parseInt(tmpItem[1]);
units = units - qty;
removeItemDecoration(itemname);
addItemDecoration(name,price,units);
}
break;
}
}
}*/
/*public void updateQuantityDecoration(String itemId, int quantity) {
if (decoration.contains(itemId)) {
String[] tmpItem = (String[])decoration.get(itemId);
tmpItem[3] = Integer.toString(quantity);
}
}*/
VI BCA 102
event MANAGEMENT SYSTEM
VI BCA 103
event MANAGEMENT SYSTEM
makeup.remove(itemname);
}
}
public void deductItemMakeup(String itemname, int qty)
{
Enumeration e = makeup.elements();
String[] tmpItem;
String id="";
String name="";
int price=0;
int units = 0;
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
if(itemname.equals(tmpItem[0]))
{
units = Integer.parseInt(tmpItem[1]);
if(qty >= units)
removeItemMakeup(itemname);
else
{
name=tmpItem[0];
price=Integer.parseInt(tmpItem[2]);
units = units - qty;
removeItemMakeup(itemname);
addItemMakeup(name, units, price);
}
break;
}
}
}
/*public void updateQuantityDecoration(String itemId, int quantity) {
VI BCA 104
event MANAGEMENT SYSTEM
if (decoration.contains(itemId)) {
String[] tmpItem = (String[])decoration.get(itemId);
tmpItem[3] = Integer.toString(quantity);
}
}*/
public Enumeration getEnumerationMakeup() {
return makeup.elements();
}
public float getCostMakeup() {
Enumeration e = makeup.elements();
String[] tmpItem;
int totalCostma = 0;
while (e.hasMoreElements())
{
tmpItem = (String[])e.nextElement();
totalCostma += Integer.parseInt(tmpItem[1]) * Integer.parseInt(tmpItem[2]);
}
return totalCostma;
}
public int getNumOfItemsMakeup() {
Enumeration e = makeup.elements();
int numma = 0;
while (e.hasMoreElements()) {
numma++;
}
return numma;
}
}
VI BCA 105
event MANAGEMENT SYSTEM
VI BCA 106
event MANAGEMENT SYSTEM
CONCLUSION:
This web application is easy to use and user-friendly software. End-users are
expected to have some experience in using windows applications and browsing
the Internet. Event booking can be done through web is a very useful module in
this application. Clients can get appropriate information with less efforts and
time.
FUTURE ENHANCEMENTS:
VI BCA 107
event MANAGEMENT SYSTEM
VI BCA 108
event MANAGEMENT SYSTEM
11. BIBLIOGRAPHY
1) Books Referred:
2) Websites referred:
www.google.com
www.w3schools.com/html
www.htmlcodetutorial.com/
http://en.wikipedia.org
VI BCA 109