2. June 21, 2017 2
Agenda
•Architecture
- what is Architecture
- Stakeholders of architecture
- Architectural Process
•
3. June 21, 2017 3
Architecture
• what is architecture?
– A Software architecture is the set of principal design
decisions about the system.
– Software architecture is the blue print for a software
system construction’s and evolution.
5. June 21, 2017 5
Architecture Processes
• Architectural design
• Architecture modeling and visualization
• Architecture-driven system analysis
• Architecture-driven system implementation
• Architecture-driven system deployment, runtime redeployment, and
mobility
• Architecture-based design for non-functional properties, including
security and trust
• Architectural adaptation
7. June 21, 2017 7
Ant Overview
• What is Ant ?
•Apache Ant is a software tool for automating software build
processes
•It was a replacement for the Unix make build tool, It is similar
to Make but is implemented using the java language, requires the Java
platform, and is best suited to building Java projects.
• Developed by Apache Tomcat and released as Open Source
• Allows writing managed code in Java Language
8. June 21, 2017 8
Ant Features
• Features of Ant
• Ant is the most complete Java build and deployment tool available.
•Ant scripts are written using plain XML.
• Ant is good at automating complicated repetitive tasks.
• Ant comes with a big list of predefined tasks.
•Ant provides an interface to develop custom tasks.
•Ant can be easily invoked from the command line and it can integrate with
free and commercial IDEs.
9. June 21, 2017 9
Ant Overview
• Features of Ant(cont.)
•Nightly + Continuous Builds
Nightly
•We don't provide binary nightly builds at the moment.
Continuous Builds
•Ant and Ivy are using Continuous Integrations systems to improve
the development process. Note that these are no official builds and
they are not endorsed or even supported by the Ant team. But if you
have problems with testing the latest (successful) build, you are
welcome to post that on the developer mailing list
10. June 21, 2017 10
Ant Overview
• Why Ant ?
•Creating the basic structure for project, which is required for deployment. The structure
may vary from project to project or depending upon the type of application
•Taking the latest checkout of the project files from any source code version system
•Copying the required set of files to the desired directories. This may include filtering of
the files which are not required in deployment, but are required only for development.
•Compiling the source code to generate output run able files
•Generating the documentation by using various tools like Java Doc or PHP Documenter.
11. June 21, 2017 11
Pro Ant
• Pros of Using Ant
•You control everything, because you have to largely build it yourself
(though you can copy and paste).
• Easy to ad support for legacy builds.
• Ant is a programming language (almost) so you can do crazy things,
but it requires much more debugging
12. June 21, 2017 12
Con Ant
• Cons of using Ant
•IDE integration doesn't seem to be as well done. Running your ant
scripts with *every build* requires more setup and configuration, and
generally on every machine.
• Its no longer the standard, and many projects which are mavenized
are much easier to use via maven than downloading the jar and getting
it into your lib. then doing wire up via ant.
13. June 21, 2017 13
Maven Overview
• What is Maven ?
• Apache Maven is a popular open source tool that offers a convention-over-
configuration approach to project build management. It has been increasing its
presence across enterprises at a fast pace.
•Maven brings a lot of structure, discipline, and cross project capabilities to the
build management process.
•The heart of a Maven project is the Project Object Model (POM). It contains a
detailed description of your project, including information about versioning and
configuration management, dependencies, application and testing resources and
structure, and much more. The POM takes the form of an XML file (pom.xml),
which is placed in the project home directory.
•Current version of Maven is 3.
14. June 21, 2017 14
Maven Overview
• Understanding the problem without Maven
There are many problems that we face during the project development. They are
discussed below:
• Adding set of Jars in each project: In case of struts, spring, hibernate
frameworks, we need to add set of jar files in each project. It must include
all the dependencies of jars also.
• Creating the right project structure: We must create the right project
structure in servlet, struts etc, otherwise it will not be executed.
•Building and Deploying the project: We must have to build and deploy the
project so that it may work.
15. June 21, 2017 15
Maven Features
• Features of Maven
• Simple project setup that follows best practices - get a new project or module
started in seconds
•Consistent usage across all projects means no ramp up time for new developers
coming onto a project
•Able to easily work with multiple projects at the same time
•A large and growing repository of libraries and metadata to use out of the box,
and arrangements in place with the largest Open Source projects for real-time
availability of their latest releases
•Extensible, with the ability to easily write plugins in Java or scripting languages
16. June 21, 2017 16
Maven Features
• Features of Maven (cont.)
•Extensible, with the ability to easily write plugins in Java or scripting languages
• One of the highlights of Maven is Transitive Dependency Management. You do not have
to declare each and every JAR that will be needed, directly or indirectly, by your
application. You just tell Maven which libraries you need, and Maven will take care of the
libraries that your libraries need.
•Instant access to new features with little or no extra configuration
•Model based builds: Maven is able to build any number of projects into predefined output
types such as a JAR, WAR, or distribution based on metadata about the project, without
the need to do any scripting in most cases.
17. June 21, 2017 17
Maven Lifecycle
• Standard Maven lifecycle phases:
Phase Description
Validate Runs a sanity check on the project itself.
Compile Compiles the project source code.
Test Runs the unit tests (typically using JUnit) .
Package Packages the compiled code in its distributable format
(JAR, WAR, etc.).
Verify Run checks to confirm that the package is valid.
Install Installs the package into the local repository for use
as a dependency in other projects on your local
machine.
Deploy Done in an integration or release environment, copies
the final package to the remote repository for sharing
with other developers and projects.
18. June 21, 2017 18
Pro Maven
• Pros of using Maven:
• All dependencies are downloaded automatically;
•All compile/build/dependency info is bundled with your maven spec, and therefore
forced to be in source control with your code. (this is a huge plus)
•Drastically simplifies the way your build will work, because every build follows a
generally standard procedure.
•Every member of your team will be building/deploying in the same way with every
compile.
•Turning on new features (such as junit) across the board for things like CI/CD can be
as easy as one line in your maven config file.
19. June 21, 2017 19
Pro Maven
• Pros of using Maven(cont.)
•Standard project structure. (which can be overridden)
•Setting up a project is really fast.
•Transitive dependencies and dependency management.
•Promotes modular design of code.
•Can generate reports and diagrams.
• Works well with distributed teams.
•Automated build of application.
•Promotes the concept of a resource repository.
20. June 21, 2017 20
Pro Maven
• Pros of using Maven(cont.)
• Use of remote repository.
• Has IDE support.
• When a project uses Maven, it means that anyone familiar with
Maven can pick up the build and start running it without having to
fiddle with configuration just to figure out how to get the thing to
compile.
•Maven has a well defined life Cycle
21. June 21, 2017 21
Con Maven
• Cons of using Maven
• You need to know maven command line or use an ide that has maven integration, such
as netbeans or eclispe.
•Learning Curve (there are something like 20-26 different build phases, plus packaging
types).
•Your project pretty much has to be laid out the correct way, you can work around this
but you shouldn't.
•Its verbose and complex.
• If you have a dependent jar that isn't mavenized, you might lose your mind before you
figure out how to integrate it.
22. June 21, 2017 22
Comparison of Ant and Maven
•Difference between Ant and Maven
23. June 21, 2017 23
Comparison of Ant and Maven
•Difference between Ant and Maven(Cont.)
•One major difference between Maven and ANT is that Maven requires less configuration than ANT
because it works on principle of Convention over configuration
•Another significant difference between Maven and ANT is dependency Management.
•Third and most important difference between Maven and ANT is that, Maven offers a consistent and
common interface to build Java projects.
•Another technical difference between ANT and Maven is that ANT task doesn't have any lifecycle, you
need to define targets and there dependencies. While Maven has lifecycle, which is invoked when you run
commands like mvn install. Maven executes a series of steps as a result of this command to produce
artifacts e.g. JAR file.
24. June 21, 2017 24
Comparison of Ant and Maven
• Difference between Ant and Maven(Cont.)
•Maven also enforce a standard naming convention for artifacts
defined using groupId, artifactId and version. Also one more
difference between ANT and Maven is that, Maven is more than just
a build tool, it act as project management tool and can generate
reports etc, Though I have yet to use this feature.
25. June 21, 2017 25
• Difference between Ant and Maven
Ant Maven
Ant is basically a build tool. Maven is a build tool, a dependency
management tool and a reporting
tool, intended to take Ant to the
next level.
Ant doesn't have formal
conventions like a common project
directory structure.
Maven has conventions, it uses a
defined standard project directory
structure. In a way Maven tries to
dictate the project directory
structure.
Ant is procedural, you have to tell
Ant exactly what to do and when to
do it. You have to tell it to compile,
then copy, then compress.
Maven is declarative. All you have
to do is create a pom.xml file and
put your source in the default
directory. Maven takes care of the
rest.
Comparison of Ant and Maven
26. June 21, 2017 26
• Difference between Ant and Maven(Cont.)
Ant Maven
Ant does not provide facilities for
dependency management at all.
Though Ivy can be used in
conjunction with Ant for the same.
The real strength of Maven is its
dependency management.
Ant, by itself, doesn’t have a
facility for reusing build knowledge;
this is all encapsulated in the
build.xml file.
Reuse is achieved through the use
of plugins that become part of the
Maven installation library.
Ant is good at the low level. Maven is good at the high level. You
can run Ant tasks from within
Maven. You can even embed your
Ant scripts in the POM.
Comparison of Ant and Maven
27. June 21, 2017 27
• Difference between Ant and Maven(Cont.)
Ant Maven
Ant doesn't have a lifecycle, you
have to define goals and goal
dependencies.
Maven has a well defined lifecycle
The build environment is only as
portable as the person who designed
the build.xml forced it to be.
One can generally import a clean
Maven Project and build
immediately with no need to set up
a customized external build
environment.
No IDE Support. Has IDE Support..
Excellent documentation available. Documentation is growing but still
inconsistent.
Comparison of Ant and Maven
29. June 21, 2017 29
Conclusion
• Conclusion
• Maven is not just a build tool only. Building is just one of the
aspects. Maven plays a role during all the stages of the life-cycle of a
project.
30. Agenda
• What is web server
• How web server work
• List of Leading web sever
• Advantages and Disadvantages
• Features comparison
• Conclusion
June 21, 2017 30
Agenda
32. What are Web Servers
• A web server is an information technology that
processes requests via HTTP, the basic network
protocol used to distribute information on the World
Wide Web.
• The primary function of a web server is to store,
process and deliver web pages to clients.
• The communication between client and server takes
place using the Hypertext Transfer Protocol (HTTP).
• Pages delivered are most frequently HTML
documents, which may include images, style
sheets and scripts in addition to text content.
June 21, 2017 32
Web Servers
34. How Web Servers Work
• commonly a web browser or web crawler, initiates
communication by making a request for a specific
resource using HTTP and the server responds with the
content of that resource or an error message if unable to
do so.
• What happens when you enter in the address field of
your browser the URL
• First, the browser slices the URL in 3 parts:
• Example http://www.snipe.co.in/HomePage.aspx
• The protocol ("http")
• The server name ("www.snipe.co.in")
• The file name ("HomePage.aspx")June 21, 2017 34
Web server
37. Communication B/W Client-server
• HTTP functions as a request-response protocol in
the client-server computing model.
• The client submits an HTTPrequest message to the
server.
• The server, which provides resources such
asHTML files and other content, or performs other
functions on behalf of the client, returns
a response message to the client
• The response contains completion status information
about the request and may also contain requested
content in its message body.
June 21, 2017 37
Communication b/w client-server
38. leading Web Servers
There are many leading web servers among those
fallowing are very popular
• Apache http web server
• IIS (Internet Information Services)
• Nginx
• GWS
June 21, 2017 38
Popular web servers
39. Apache
• This is the most popular web server in the world
developed by the Apache Software Foundation.
• Apache web server is an open source software and
can be installed on almost all operating systems
• About 60% of the web server machines run the
Apache Web Server.
June 21, 2017 39
Apache http web server
40. Features of apache
• Apache is open-source software, and it is well
documented, which provides for valuable and reliable
support options.
• Apache can be used free of charge.
• Apache supports multiple hardware and operating
system (OS) platforms.
• Virtual hosting
Virtual hosting is a method for hosting multiple domain
names (with separate handling of each name) on a
single server(or pool of servers). This allows one
server to share its resources, such as memory and
processor cycles, without requiring all services
provided to use the same host name.
June 21, 2017 40
Features of apache
41. Advantages and disadvantages of Apache
Advantages:
• Is flexible because of ability to pick and choose various
modules
• Has enhanced security (notable, because vulnerabilities
typically are attacked in Windows-based machines)
• Has strong user-community support
• Runs on UNIX, Windows, Linux, Mac OS
Disadvantage:
Is a process-based server, which means each
simultaneous connection requires a thread that can incur
significant overhead
June 21, 2017 41
Advantages and disadvantages of Apache
42. IIS (Internet Information Services)
• The Internet Information Server (IIS) is a high
performance Web Server from Microsoft. This web
server runs on Windows NT/2000 and 2003
platforms ( and may be on upcoming new Windows
version also). IIS comes bundled with Windows
NT/2000 and 2003; Because IIS is tightly integrated
with the operating system so it is relatively easy to
administer it.
June 21, 2017 42
Internet Information Services
43. Advantages and disadvantages of IIS
Advantages:
• Is supported by Microsoft
• Provides access to .NET framework & ASPX scripts
• Integrates with other Microsoft services (Active
Directory, MS SQL server, ASP, etc.)
Disadvantage:
• Isn’t able to customize as much as open-source web
servers
June 21, 2017 43
Advantages and disadvantages of IIS
44. Features of IIS
• IIS is a Microsoft product that integrates well with a
Microsoft OS.
• IIS is bundled free with Windows Servers.
• IIS can limit bandwidth availability to specific Web
pages.
• IIS includes a superior crash-prevention system.
• Anonymous authentication
• Basic access authentication
• Digest access authentication
• Integrated Windows Authentication
• UNC authentication
June 21, 2017 44
Features of IIS
45. Nginx
• Nginx (pronounced "engine x") is a web server with a
strong focus on high concurrency, performance and
low memory usage. It can also act as a reverse
proxy server for HTTP, HTTPS, SMTP, POP3,
and IMAP protocols, as well as a load balancer and
an HTTP cache.
• Nginx runs on Unix, Linux, BSD variants,Mac OS
X, Solaris, AIX, HP-UX, and Microsoft Windows.
June 21, 2017 45
Nginx server
46. Advantages of Nginx
Advantages:
Is known for speed and for being a reverse-proxy server
• Is an event-based server, which enables high
performance and scale
• Is potentially better for a VPS (Virtual Private Server)
environment
June 21, 2017 46
Advantages of Nginx
47. Features comparison
June 21, 2017 47
Server security virtual
hosting
basic
access
authenticatio
n
digest
access
authenticatio
n
SSL/TLS
https
Apache
HTTP
Server
Yes Yes Yes[e][c][2][f][3] Yes
Internet
Informati
on
Services
Yes Yes Yes
Yes
nginx Yes Yes (module) Yes Yes
Features comparison
48. Features comparison
June 21, 2017 48
Serv
er
Dynamic content[a]
CGI FCGI SCGI WSGI
Java
Servl
ets
SSI ISAPI
SSJ
S
Apach
e
HTTP
Server
Yes Yes Yes Yes[e]
No[g]
Yes Yes[h] Unkn
own
Intern
et
Inform
ation
Servic
es
Yes Yes Yes No No[p]
Yes Yes Yes
nginx
No Yes Yes Yes No[10]
Yes No
Unkn
Features comparison
49. Operating system support
comparison
Server Windo
ws
Linux OS X BSD
Solari
s
eCom
Statio
n
OpenV
MS
Apache
HTTP
Server Yes Yes Yes Yes Yes Yes Yes
IIS
Yes No No No No No No
nginx
Yes Yes Yes Yes Yes No No
June 21, 2017 49
Features comparison
50. NetCraft survey in April 2014
Web Server
% Share (all
sites)
% Share
(active sites)
% Share (top million
busiest)
Apache 38.60% 52.44% 53.44%
IIS 31.10% 11.37% 12.40%
NGINX 15.56% 14.22% 17.82%
Google Web
Server
2.28% 8.33% 2.96%
June 21, 2017 50
NetCraft survey
51. Netcraft Survey April, May 2015
Product Vendor
April
2015
Percent
May
2015
Percent Change
Apache Apache
333,285,
741
39.25%
336,813,
959
39.26% 0.0%
IIS Microsoft
236,288,
843
27.83%
247,784,
668
28.88% +1.05%
nginx
NGINX,
Inc.
126,274,
778
14.87%
123,697,
645
14.42% -0.45%
GWS Google
20,051,4
33
2.36%
20,103,0
68
2.34% -0.02%
June 21, 2017 51
NetCraft survey
52. Conclusion
• IIS, when used in conjunction with a Windows OS is
fast and reliable.
• However, those who prefer the configuration options
of open-source software will find that Nginx beats
Apache on servers with Linux OSs.
June 21, 2017 52
Conclusion
54. June 21, 2017 54
Agenda
•User Interface Overview
•Design principles of UI
•JavaScript
•JQuery
•Angular JS
•Dojo
•Node.js
•AJAX
55. June 21, 2017 55
UI Technologies
The user interface
•A Web service is a method of communication between two electronic
devices over a network.
•System users often judge a system by its interface rather than its
functionality.
•Poor user interface design is the reason why so many software
systems are never used.
57. June 21, 2017 57
UI Technologies
JavaScript Introduction
•JavaScript is one of the most simple, versatile and effective languages
used to extend functionality in websites.
•JavaScript is the programming language of HTML and the Web.
•It is used to create interactive websites.
•It is open cross-platform.
•Client side JavaScript is the most common form of the language.
58. June 21, 2017 58
UI Technologies
Advantages and disadvantages of JavaScript
Advantages :
•JavaScript is executed on the client side.
•JavaScript is a relatively easy language.
•JavaScript is relatively fast to the end user.
•Extended functionality to web pages.
•Increased interactivity
Disadvantages:
•Security Issues
•JavaScript rendering varies
•Client-side JavaScript does not allow the reading or writing of files.
59. June 21, 2017 59
UI Technologies
JQuery
• JQuery is a type of Javascript library (Prototype, Ext Core) designed to
make Javascript more accessible and easy to use.
• JQuery simplifies the Javascript syntax and relatively provides better
interaction between Javascript and other web development languages.
• Important features
•Event handling
•AJAX Support
•Animations
•Lightweight
60. June 21, 2017 60
UI Technologies
Advantages and disadvantages of jQuery
Advantages
•Ease of use
•Large library
•Strong open source community.
•Great documentation and tutorials
•Ajax support
Disadvantages
•Functionality maybe limited
•JQuery JavaScript file require
61. June 21, 2017 61
UI Technologies
AngularJS
• It is a is an open-source web application framework and by a community of
individual developers and corporations to address many of the challenges
encountered in developing Single-Page Applications.
• AngularJS is built on the belief that declarative programming should be
used to create user interfaces and connect software components,
while imperative programming is better suited to defining an
application's business logic.
• AngularJS is open source, completely free, and used by thousands of
developers around the world.
62. June 21, 2017 62
AngularJS
Features
•AngularJS is a powerful JavaScript based development framework to create RICH
Internet Application(RIA).
•Provides developers options to write client side application in a clean MVC(Model
View Controller) way.
•It is a framework to build large scale and high performance web application while
keeping them as easy-to-maintain.
Core Features
•Data-binding
•Scope
•Controller
•Services
•Filters
•Directives
63. June 21, 2017 63
UI Technologies
Advantages and disadvantages of AngularJS
Advantages :
• AngularJS Allows Developers to Express UI Declaratively and Reduce Side
Effects.
• AngularJS Gives Developers Controls.
• AngularJS Supports Single Page Applications.
• AngularJS Enables Massively Parallel Development.
Disadvantages :
• Angular is big and complicated.
• Not secure.
• Not degradable.
64. June 21, 2017 64
UI Technologies
Node.js
• Node.js is an open source, cross-platform runtime environment for server-
side and networking applications.
• Node.js allows the creation of web servers and networking tools,
using JavaScript and a collection of "modules" that handle various core
functionality.
• Modules handle file system I/O, networking, binary data, cryptography
functions, data streams, other core functions.
• Cross-platform Runtime Environment for server-side and networking
applications.
65. June 21, 2017 65
UI Technologies
Features of Node.js
• Asynchronous and Event Driven
• Very fast
• Single threaded but highly scalable
• No buffering
• License
Where to Use Node.js?
• Following are the areas where Node.js is proving itself a perfect technology partner.
• I/O bound Applications
• Data Streaming Applications
• Data Intensive Realtime Applications (DIRT)
• JSON APIs based Applications
• Single Page Applications
66. June 21, 2017 66
Node .js
Advantages :
• You Already Know JavaScript
• It's Fast
• Real-time Made Easy
• Streaming data
• One Codebase And Your Real-time For Free
Disadvantages :
• Single-Threaded : single-threaded means that one does not need to care about
the problems of synchronizing between threads.
• Bad concurrency primitives
• Lack of maturity : Most of the core libraries have reached the status of stable,
and you can trust them to usually do the right thing.
67. June 21, 2017 67
UI Technologies
Dojo
•Dojo is a JavaScript framework targeting the many needs of large-scale
client-side web development.
•For example : Dojo abstracts the differences among diverse browsers to
provide APIs that will work on all of them.
68. June 21, 2017 68
UI Technologies
Dojo
•Dojo is a JavaScript framework targeting the many needs of large-scale
client-side web development.
•For example : Dojo abstracts the differences among diverse browsers to
provide APIs that will work on all of them.
69. June 21, 2017 69
Dojo
Advantages :
• Community: Dojo is an open community. As a result many individuals and companies have
been able to come together on a level playing field to build tools that benefit everyone.
• Performance: Dojo is used on high-profile, high-traffic sites every day and Dojo’s
build tools are a key reason why.
• Quality: Infrastructure for internationalization and accessibility is woven through the
entire fabric of Dojo.
Disadvantages :
• Dojo can be perceived as heavy or bloated because it ships with features in its
core that are only useful for making web applications.
70. June 21, 2017 70
UI Technologies
Java
Script
JQuery Angular
JS
Dojo Node.js
security Less Very less Very less High Very low
Ease to
use
Relatively
easy
Very easy Easy Relatively
easy
Real time
made easy
Open
source
Yes yes yes yes yes
improve
web
functionali
ty
yes Yes Yes Yes Yes
Dependenc
y
Independe
nt
Dependent
on
JavaScrip
dependent independe
nt
Dependent
on
JavaScrip
Comparison
71. June 21, 2017 71
UI Technologies
Conclusion
• There are many UI technologies in market like JSF,CSS.
• Based on requirement one can select the technology.
• As per analysis JavaScript is the efficient technology.
72. June 21, 2017 72
•DAO Overview
- what is Dao
- Features of Dao
-Database access with Dao
• ORM
- what is ORM
-Advantages of ORM
•ORM tools
-Hibernate
-Ibatis
-OJB
-JPA
•Comparision Between Tools
•CONCLUSION
Agenda
73. June 21, 2017 73
• What is DAO?
The Data Access Object is basically an object or an interface that provides
access to an underlying database or any other persistence storage.
Features of DAO
•DAO is used in a large percentage of applications where data storage is
required.
•It hides all details of data storage from the rest of the application.
•It act as an intermediary between your application and the database. They
move data back and forth between Java objects and database records.
•It also allow ripple effects from possible changes to the persistence
mechanism to be confined to a specific area.
DAO Overview
74. Databases You Can Access with DAO
• Microsoft Excel, versions 3.0, 4.0, 5.0, and 7.0 worksheets
• Lotus WKS, WK1, WK3, and WK4 spreadsheets
• Text files
• Databases using the Microsoft Jet database engine, created
with Microsoft Access or Microsoft Visual Basic, versions 1.x,
2.x, and 3.0 of the database engine
• Installable ISAM databases, including:
– dBASE III, dBASE IV, and dBASE 5.0
– Paradox, versions 3.x, 4.x, and 5.x
June 21, 2017 74
Databases
75. June 21, 2017 75
•ORM(Object-relational mapping)
ORM stands for Object-Relational Mapping (ORM) is a programming technique for
converting data between relational databases and object oriented programming languages
ORM tools:
•Hibernate
•OJB (ObjectRelationalBridge)
•iBATIS
•JPA
ORM Overview
76. Advantages of ORM
• ORM tools provide a host of services thereby allowing developers to
focus on the business logic of the application rather than repetitive
CRUD (Create Read Update Delete) logic.
• ORM tools provide an object oriented query language. This allows
application developers to focus on the object model and not to have to
be concerned with the database structure or SQL semantics.
• Facilitates implementing the Domain Model pattern
• Support for multiple users updating the same data simultaneously.
• Key Management. Identifiers and surrogate keys are automatically
propogated and managed.
• Eliminates lots of repetitive code and focus on business logic.
June 21, 2017 76
ORM Overview
77. June 21, 2017 77
• Hibernate ?
Hibernate is an open source, lightweight, ORM tool which maps Java
classes to database tables and from Java data types to SQL data types
• Features of Hibernate ?
•Hibernate takes care of mapping Java classes to database tables using
XML files and without writing any line of code.
•Provides simple APIs for storing and retrieving Java objects directly to
and from the database.
•If there is change in Database or in any table then the only need to
change XML file properties.
Hibernate Overview
78. June 21, 2017 78
•Features of Hibernate?
•Abstract away the unfamiliar SQL types and provide us to work around familiar
Java Objects.
•Hibernate does not require an application server to operate.
•Supported Databases:
•HSQL Database Engine
•DB2/NT
•MySQL
•PostgreSQL
•FrontBase
•Oracle
•Microsoft SQL Server Database
•Sybase SQL Server
Hibernate Overview
79. June 21, 2017 79
•Supported Technologies:
•XDoclet Spring
•J2EE
•Eclipse plug-ins
•Maven
Hibernate Overview
80. June 21, 2017 80
•iBATIS
iBATIS is a persistence framework which automates the mapping between
SQL databases and objects in Java, .NET, and Ruby on Rails.
Advantages of iBatis
•Supports stored procedures − iBATIS encapsulates SQL in the form of
stored procedures so that business logic is kept out of the database, and the
application is easier to deploy and test, and is more portable.
•Supports inline SQL − No precompiler is needed, and you have full access to
all of the features of SQL.
•Supports dynamic SQL − iBATIS provides features for dynamically building
SQL queries based on parameters.
•Supports O/RM − iBATIS supports many of the same features as an O/RM
tool, such as lazy loading, join fetching, caching, runtime code generation, and
inheritance
iBATIS Overview
81. •OJB
ObJectRelationalBridge (OJB) is an Object/Relational mapping
tool that allows transparent persistence for Java Objects
against relational databases.
Features of OJB?
• It is easy to integrate into an existing application because it
does not generate code.
• It allows the use of different patterns of persistence
• It is lightweight and easy to configure two files to implement a
persistence layer
June 21, 2017 81
OJB Overview
82. •JPA
Java Persistence API is a collection of classes and methods to
persistently store the vast amounts of data into a database
which is provided by the Oracle Corporation.
Features of JPA?
• It is easier to use a stored procedure to perform the
operations within the database
• Using JPA, the burden of interacting with the database reduces
significantly.
• It forms a bridge between object models (Java program) and
relational models
June 21, 2017 82
JPA Overview
83. COMPARISON OF POWERFUL ORM TOOLS
iBATIS HIBERNATE JPA
iBATIS is simpler. It
comes in a much smaller
package size.
Hibernate generates SQL
automatically
JPA is simple
iBATIS is flexible. It
offers faster development
time.
Hibernate is highly
scalable. It provides a
much more advanced
cache.
JPA is scalable and
provides several
advantages for java
developers for data
binding process
iBATIS uses SQL which
could be database
dependent.
Hibernate uses HQL which
is relatively independent
of databases. It is easier
to change db in Hibernate.
JPA uses JPQL which is
similar to the syntax of
SQL
June 21, 2017 83
ORM Tools
84. COMPARISON OF POWERFUL ORM TOOLS
iBATIS HIBERNATE JPA
iBatis maps the Result
Set from JDBC API to
your POJO Objects, so
you don’t have to care
about table structures.
Hibernate maps your
Java POJO objects to
the Database tables.
JPA uses metadata
annotations and/or XML
descriptor files to
configure the mapping
between Java objects in
the application domain and
tables in the relational
database.
It supports caching It provides much
more advance cache
It does not support
caching
June 21, 2017 84
ORM Tools
85. COMPARISION BETWEEN TOOLS
June 21, 2017 85
Features Hibernate iBATIS JPA
Simplicity Best Good Good
Complete ORM
solution
Average Best Best
Adaptability to data
model changes
Good Average Average
Complexity Best Average Average
Dependence on SQL Good Average Average
ORM Tools
86. COMPARISION BETWEEN TOOLS
June 21, 2017 86
Features Hibernate iBATIS JPA
Performance Best Best N/A*
Portability across
different relational
database
Average Best N/A*
Portability to non-
Java platforms
Best Good Not Supported
Community support
and documentation
Average Good Good
ORM Tools
87. CONCLUSION
There are major differences between iBATIS and Hibernate
and JPA. Every solutions work well, given their specific domain.
iBATIS is suggested in case −
• You want to create your own SQL's and you are willing to maintain
them.
• Your environment is driven by relational data model.
• You have to work on existing and complex schemas.
• Use Hibernate if the environment is driven by object model and
needs to generate SQL automatically.
• JPA is defined to work with relational databases only. If your
persistence solution needs to be extended to other types of
data stores, like XML databases, then JPA is not the answer to
your persistence problem.
June 21, 2017 87
Conclusion
89. June 21, 2017 89
Agenda
•Installer Overview
- What is Installer?
- Why it is used?
• Types of Windows Installer:
-Inno Setup
-InstallAnywhere
-Advanced Installer
-IzPack
-InstallShield
-Setup Factory
• Comparison
90. June 21, 2017 90
installer Overview
•What is Installer?
-Windows Installer is a component of the Windows operating system
that simplifies the application installation process.
-Windows Installer is a software component and application
programming interface (API) of Microsoft Windows used for the
installation, maintenance, and removal of software.
• Why it is used?
-Windows Installer manages the installation and removal of
applications by applying a set of centrally defined setup rules during the
installation process.
91. June 21, 2017 91
Inno Setup
• Definition:
• Inno Setup is a free installer for Windows programs.
• First introduced in 1997, Inno Setup today rivals and even surpasses many commercial
installers in feature set and stability.
Inno Setup version 5.5.6.
Features:
• Support for every Windows release since 2000, including: Windows 10, Windows 8.1,
Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista,
Windows Server 2008, Windows XP, Windows Server 2003, and Windows 2000.
• Extensive support for installation of 64-bit applications on the 64-bit editions of
Windows.
Continue..
92. June 21, 2017 92
Inno Setup
Continued..
•Creation of shortcuts anywhere, including in the Start Menu and on the desktop.
•Running other programs before, during or after install.
•Support for multilingual installs, including right-to-left language support.
•Support for passworded and encrypted installs.
•Support for digitally signed installs and uninstalls.
•Silent install and silent uninstall.
•Unicode installs.
93. • Integrated preprocessor option for advanced compile-time
customization.
• Integrated Pascal scripting engine option for advanced run-time
install and uninstall customization.
June 21, 2017 93
Inno Setup
Continued…
94. June 21, 2017 94
Inno Setup
Disadvantages:
•When you install a new version of your application without uninstalling
the old version first, you will get a second entry in Control
Panel's Add/Remove Programs.
•After uninstalling, the directories created during installation still exist.
•Setup isn't waiting for programs executed by [Run] entries to finish.
• Some languages are missing on the Select Setup Language dialog, or it
doesn't show up at all.
95. June 21, 2017 95
INSTALL ANYWHERE
• Definition:
• InstallAnywhere is a Java-based software tool for creating installers or software
packages, for multiple platforms. It can also be used to create Virtual Appliances for
Linux platforms using an existing installers or software packages.
• It was initially released in 2000.
Features:
• InstallAnywhere is the leading multiplatform installation development solution for
application producers who need to deliver a professional and consistent cross installation
experience for physical, virtual and cloud environments.
• InstallAnywhere creates reliable installations for on-premises platforms – Windows,
Linux, Apple, Solaris, AIX , HP-UX, and IBM.
96. June 21, 2017 96
INSTALL ANYWHERE
• enables you to take existing and new software products to a virtual and
cloud infrastructure, and create Docker containers—all from a single
InstallAnywhere project.
• Saves time creating multiplatform installations.
• Helps avoid risk exposure and non-compliance.
• Offers flexibility to create silent, console, and GUI installations.
• Reuses shared code through merge modules.
• Creates standalone builds to support continuous integration.
• Simplifies installation creation for multi-tier or web/server applications.
97. June 21, 2017 97
ADVANCED INSTALLER
•Definition:
• Advanced Installer is a powerful and easy to use setup authoring tool
which offers full Windows Installer support and more.
• You can configure every aspect of your installer through a simple
graphical user interface or through its command line.
• Advanced Installer was added by ChrisJn in Sep 2011 and the lastest
update was made in Nov 2014.
• It's possible to update the information on Advanced Installer
or report it as discontinued, duplicated or spam.
98. June 21, 2017 98
ADVANCED INSTALLER
• Features:
• A dialog editor with beautiful themes.
•Windows Installer patches.
• Multilingual installers with full localization support.
• Application virtualization.
• A Repackager for capturing existing installers and more.
• Full Internet Information Services (IIS) support.
• A licensing module for adding license registration support to your application. A built-in
Updater application for handling your updates automatically Import from Visual
Studio,InstallShield LE, WiX, Eclipse, Inno Setup, NSIS and regular MSI/MSM packages.
99. • Definition:
• IzPack is a one-stop solution for packaging, distributing and
deploying applications.
• It is fully cross-platform and generates a single installer. As
such, it is an alternative to native solutions such as platform-
specific installers and package managers.
• Features:
• Apache Ant integration.
• Embedding the installation file using a config element.
• System properties as variables.
• Automated Installers.
June 21, 2017 99
IzPack Installer
Continue..
100. • Console (headless) installers.
• Picture on the Language Selection Dialog.
• Picture in the installer.
• Modifying the GUI.
– Modifying Language Selection Dialog.
– Modifying IzPack Panels.
– Using a Separated Heading Panel.
– Don't show pack size in PacksPanel.
– Alternative Cancel Dialog.
June 21, 2017 100
IzPack Installer
Continued..
101. • Definition:
• InstallShield is a proprietary closed-source software tool for
creating installers or software packages.
• InstallShield is primarily used for installing software
for Microsoft Windows desktop and server platforms, but it can
also be used to manage software applications and packages on a
variety of handheld and mobile devices.
• From 1992, InstallShield was developed by Stirling
Technologies, founded by Viresh Bhatia and Rick Harold.
• Stirling Technologies later renamed itself InstallShield
Corporation and continued to operate under the new name
until Macrovision acquired the business in 2004.
June 21, 2017 101
InstallShield
102. • Features:
• Windows 10 Support.
• Windows Installer (MSI) Installations: Quickly and easily
create Windows Installer (MSI) installations with advanced
support for SQL databases, IIS web sites, XML editing and
much more with InstallShield's intuitive graphical development
environment.
• Install Script Installations: Achieve maximum flexibility in
your installations with Install Script—a powerful and easy-to-
use scripting language.
• Simplify Complex Installations with Suite/Advanced UI
Projects
• Support the Latest Microsoft Certificate Requirements: Be
prepared for 2016’s new signature requirements with support
for SHA-256 certificates and digests.
June 21, 2017 102
InstallShield
Continue..
103. • Multilingual Support.
• Automation Interface: Support continuous integration
practices and reduce manual editing by leveraging automation
scripts to add files and features, change installation properties
and settings, and initiate project builds for InstallShield MSI,
InstallScript, Advanced UI and Suite/Advanced UI projects.
• Provision Virtual Machines from the InstallShield IDE for
Testing Installations: Reduce testing time and eliminate manual
steps by automatically provisioning virtual machines; choose test
image snapshots, power on virtual machines, and stage setups
directly from the InstallShield IDE.
June 21, 2017 103
InstallShield
Continued…
104. • Definition:
• Setup Factory 9.5 is the trusted and reliable way to make
software installers for your Windows software applications.
• Setup Factory was designed to be fast and easy to use. Simply
drag and drop your files onto the project window and you’re
ready to build.
June 21, 2017 104
Setup Factory
105. • Features:
• Easy to Use Software Installation Builder.
• Advanced Installer Features.
• Customize the Look of Your Software Installer.
• Installer Scripting System for 100% Flexibility.
• Productivity and Team Workflow Features.
• 100% Windows Compatibility – Both 32 Bit and 64 Bit.
• Comprehensive User’s Guide.
June 21, 2017 105
Setup Factory
108. June 21, 2017 108
Job Scheduler
•What is Job Scheduler ?
•A job scheduler is a computer application for controlling unattended
background program execution (commonly called batch processing).
•Synonyms are batch system, distributed resource management
system (DRMS), and distributed resource manager (DRM). Today's
job scdulehers, often termed workload automation.
109. June 21, 2017 109
Job scheduling products with ERP support tools
•Job scheduling products with ERP support tools
•Active Batch
•Autosys
•Control-M
•JAMS Scheduler
•Skybot Scheduler
•Quartz
110. June 21, 2017 110
Job scheduling products without ERP support tools
•Job scheduling products without ERP support tools
•Juice Box
•OpenLava
111. June 21, 2017 111
Job scheduling products with ERP support tools
• ActiveBatch:
• Workload Automation and Job Scheduling system, integrates
business applications, stand-alone tasks, processes, and scripts across
different computing environments to give the user a centralized view
of operations at the project, organizational or enterprise level.
•It functions to eliminate wait or idle time in existing workflows and
reduce manual error.
•ActiveBatch was first developed as a script scheduling tool called
BQMS® (Batch Queue Management System) to schedule the
company’s XLNT product.
112. June 21, 2017 112
Job scheduling products with ERP support tools
• What is Autosys ?
•An automated job control system for scheduling, monitoring and
reporting jobs
• The jobs can reside on an Autosys configured machine attached to a
network
•What is an Autosys-job?
• A single action performed on a validated machine
•Autosys-jobs can be defined using GUI or JIL
• Any single command, executable script or NT batch file.
•It includes a set of qualifying attributes ,conditions specifying
when and where a autosys-job should be run.
113. June 21, 2017 113
Job scheduling products with ERP support tools
Two methods to define Autosys jobs are:-
1. Using Autosys GUI
• Autosys GUI allows to set the attributes that describe when, where
and how a autosys-job should be run.
• GUI Control Panel is used to define autosys-jobs Contain fields that
correspond to Autosys JIL sub-commands and attributes.
2. Using job Information Language(JIL)
• A specification language that has its own commands to describe
when, where and how a autosys-job should be run.
114. June 21, 2017 114
Job scheduling products with ERP support tools
• Control-M:
•Control-M is workload automation software obtained by BMC
Software via its 1999 acquisition of Israel's New Dimension
Software.
• It was originally developed for IBM mainframe computers, but has
since expanded and is also available for distributed
•Control-M can schedule workloads on a daily, weekly or monthly
interval.
• It can also be used to respond to trigger events such as the
appearance of a file, being called by a third party application through
an API, or invocation on demand through Java or Web services.
115. June 21, 2017 115
Job scheduling products with ERP support tools
• Control-M:
•Control-M is workload automation software obtained by BMC
Software via its 1999 acquisition of Israel's New Dimension
Software.
• It was originally developed for IBM mainframe computers, but has
since expanded and is also available for distributed
•Control-M can schedule workloads on a daily, weekly or monthly
interval.
• It can also be used to respond to trigger events such as the
appearance of a file, being called by a third party application through
an API, or invocation on demand through Java or Web services.
116. June 21, 2017 116
Job scheduling products with ERP support tools
•JAMS Scheduler
•JAMS Enterprise Job Scheduler tackles one of the greatest
challenges facing businesses today.
•Any disruption or latency in the delivery of this data can cause great
pain in the form of lost productivity and lost revenue.
•JAMS Job Scheduler is an easy-to use and extremely powerful
workload automation and enterprise job scheduling solution that is
suitable for any size organization.
•The reliability of JAMS is unprecedented, processing tens of
millions of batch jobs for hundreds of companies each and every day.
•It’s no wonder that organizations like JPMorgan, Cap Gemini, Union
Bank, and the US Postal Service all rely on JAMS to automate their
mission critical business processes.
117. June 21, 2017 117
Job scheduling products with ERP support tools
• Skybot
• Skybot Scheduler is the easy-to-use, yet powerful enterprise job
scheduling software for Windows, UNIX, and Linux servers.
•This job scheduling tool integrates with your business-critical
applications so that you can build complex schedules quickly and
easily.
•Skybot Scheduler eliminates the need for multiple schedules, so you
can benefit from centralized monitoring of all of your scheduled jobs.
•What’s more, Skybot Scheduler brings you automated auditing and
reporting capabilities and custom notification options so that you and
your team stay aware of important scheduling events across the
enterprise.
•Achieving true workload automation has never been easier.
118. June 21, 2017 118
Job scheduling products with ERP support tools
•Quartz:
• Quartz is a richly featured, open source job scheduling library that
can be integrated within virtually any Java application - from the
smallest stand-alone application to the largest e-commerce system.
•The Quartz Scheduler includes many enterprise-class features, such
as support for JTA transactions and clustering.
•What Can Quartz Do For You?
•Driving Process Workflow
•System Maintenance
•Providing reminder services within an application
119. June 21, 2017 119
Job scheduling products with ERP support tools
•Quartz Features:
•Runtime Environments
•Job Scheduling
•Job Execution
•Job Persistence
•Transactions
•Clustering
•Listeners & Plug-Ins
120. June 21, 2017 120
Job scheduling products without ERP support tools
•OpenLava:
•OpenLava is a 100% free, open-source, IBM®
Platform LSFTM
compatible workload scheduler that supports a variety of HPC and
analytic applications
•Features:
•Fair-share scheduling - allocate resources between users and
groups according to configurable policies
•Job pre-emption - Ensure that critical users, jobs and groups have
the resources they need - when they need them
•Docker support - Providing application isolation, fast service
deployment and cloud mobility
•Cloud & VM friendly auto-scaling - Easily add or remove cluster
nodes on the fly without cluster re-configuration
121. June 21, 2017 121
Job scheduling products with ERP support tools
Product Version User
Interface
Data
storage
Script
Storage
Agents Platforms ERP support File
transfer
ActiveBatch 9.0 Thick-Client
GUI, Thin-Client
Web Browser
and Mobile
Database Yes Yes Unix, Linux,Windows,
IBM iSeries & AIX,
Amazon EC2,
VMware, Hyper-V,
Xen, Azure, Mac OS,
OpenVMS, z/OS, HP
UX & NSK
SAP Business
Objects &
NetWeaver,
Oracle EBS,
Peoplesoft,
DynamicsAX,Info
rmatica
PowerCenter,
IBM Cognos &
DataStage,
Netezza,
Teradata
yes
AutoSys r11.0 Browser, thin
client
Database Yes Yes UNIX/Linux,
Windows, AIX
SAP yes
Control-M 8-0 Fat GUI, Web
Launch for Zero
Admin, Web
Browser and
Mobile Self
Service
Database yes Yes Unix/Linux/Linux
s390, Windows,
iSeries Tandem
OpenVMS, z/OS, HP
mPE, Unisys 2200,
Mapper
SAP, Oracle EBS
Peoplsoft,
Informatica,
Cognos, Oracle
Intelligence,
VMware Vcenter,
Oracle RDBMS,
IBM UDB
RDBMS,
Microsoft SQL
Server RDBMS
yes
JAMS
Scheduler
6.1 Browser, CLI Database Yes Yes Unix, Linux,
Windows, iSeries,
OpenVMS
Ecometry,
JDEdwards,
Oracle,Peoplesof
t, SAP, Symitar
Yes
Skybot
Scheduler
3.8 Browser, GUI Database Yes Yes can
auto
Updated
Windows/x86;
Linux/x86+PowerPC+
s390x;
AIX/PowerPC;
SAP
NetWeaver®,
Oracle E-
Business Suite®,
122. June 21, 2017 122
Job scheduling products with ERP support tools
Product Version User
Interface
Data
storage
Script
Storage
Agents Platforms ERP support File
transfer
Quartz 2.2.1 Browser, GUI Database Yes Yes
UNIX/Linux,
Windows, AIX
SAP, .NET,
Microsoft SQL
mysql 6.9.5,
Web Services
yes
123. June 21, 2017 123
Job scheduling products without ERP support tools
Product Version User
Interface
Data
storage
Script
Storage
Agents Platforms Central
upgradable
File Events
OpenLava 2.2.1 C/C++,Python Built-in Yes Yes
Linux yes yes
JuiceBox 3..3.3 Browser Database Yes Yes can
auto
Updated
Any system with a
JVM
yes no
Obsidian
scheduler
3.3.3 Java API, REST
API, Browser
Database yes yes Any system with a
JVM
no no
125. Agenda
Overview
- what is Big Data analytics
- Use of Big Data analytics
- Benefits
- Examples
Tools
- Different open source Big Data tools
-Collecting Data
-Moving Data
Types
-Different visualization tools
-comparison between visualization tools
Conclusion
126. Overview
What is Big Data ?
•Big data is a term used to describe large collections of data that
may be unstructured, semi-structured or structured and grow so
large and quickly that is difficult to manage with regular database or
statistic tools.
•Definition of Big data has 3 V’s
Volume
Velocity
Variety
127. Overview
What is the need for Big Data ?
The sources of big data are increasing every year, but they generally fall into one of three categories.
Streaming data: Also called the Internet of Things, this includes data that reaches your IT systems
from a web of connected devices. Your organization can analyze this data as it arrives and make
decisions on what data to keep, what not to keep and what requires further analysis.
Social media data: The data on social interactions is an increasingly attractive set of information,
particularly for marketing, sales and support functions. This data is often in unstructured or semi-
structured forms, so besides the sheer size of the data, it poses a unique challenge when consuming
and analyzing this information.
Publicly available sources: Massive amounts of data is available through open data sources like US
government’s data.gov, the CIA World Factbook or the European Union Open Data Portal..
128. Benefits
The Benefits of Big Data
•Enterprises are increasingly looking to find actionable insights into their
data. Many big data projects originate from the need to answer specific
business questions
• With the right big data analytics platforms in place, an enterprise can
1. boost sales
2. increase efficiency
3. improve operations
4. customer service and
5. management
129. Examples
Examples of Big Data
• According to Datamation, today's advances in analyzing Big
Data allow :
researchers to decode human DNA in minutes
predict where terrorists plan to attack
determine which gene is mostly likely to be responsible for
certain diseases
which ads you are most likely to respond to on Facebook.
130. Open Source Tools
Big Data Hadoop Open Source Tools
•HDFS (Hadoop Distributed File System)
Hdfs is a distributed, scalable & portable file system written in java for “Hadoop
Framework”
Hdfs stores large files across multiple machines. It achieves reliability by
replicating the data across multiple hosts.
•Apache Hive
Hive is a data ware housing package built on top of Hadoop.
It began its life at Facebook processing large amount of user & log data.
Can interact with Hive by issuing queries in a SQL like language called “HiveQL”
•Hbase
Hbase is a distributed, column-oriented database that harnesses the power of the
Hadoop & Hdfs platform underneath it.
131. Open Source Tools
Big Data Hadoop Open Source Tools
•Apache Pig
Pig is a platform for analyzing large datasets that consists of a high-level language
for expressing data analysis programs.
Salient property of pig programs is that their structure is amenable to substantial
parallelization, which in turns enable them to handle very large datasets.
•Sqoop
Sqoop is a command line interface application for transferring data between
relational database and Hadoop.
It supports incremental loads of a single table or a free from Sql query as well as
saved jobs which can be run multiple times to import updates made to a data since
the last import.
•Flume
Flume is a distributed, reliable & available service for efficiently collecting,
aggregating & moving large amounts of log data.
It’s a pipeline between Hadoop & the data source.
132. Open Source Tools
Big Data Hadoop Open Source Tools
•Oozie
. Breaking up a job into steps simplifies everything. If you break
your project into multiple Hadoop jobs, Oozie is ready to start them
up in the right sequence.
You won't need to babysit the stack, waiting for one job to end
before starting another
•Zookeeper
Zookeeper is a coordination services for building large distributed
applications.
Zookeeper is a centralized services for maintaining configuration
information, naming, providing distributed synchronization &
providing group services.
•Spark
An alternative to MapReduce, Spark is a data-processing engine. It
claims to be up to 100 times faster than MapReduce when used in
133. Data Collection
How Data is collected from Twitter using Flume
$ ./flume-ng agent -c /etc/flume-ng/conf -f /etc/flume-ng/conf/flume-
conf.properties.template -n TwitterAgent
134. Data Transfer
How Data is moved from Rdbms to Hadoop using
sqoop
Step 1 - List databases command
sqoop list-databases --connect "jdbc:mysql://localhost" --username root
--password 123456
Step 2 - Import table from mysql database server
sqoop import --connect jdbc:mysql://localhost/prashant --username root
--password 123456 --table auth --target-dir /data/sqoop/authtab - m1
sqoop export --connect jdbc:mysql://localhost/one --username root
--password root --export-dir /user/hduser/oneone/onetwo --table
onetwo --input-fields-terminated-by ','
135. Types
Different Types of Data visualization Tools
QlikView
Tableau
SAS
Cognos
IntelliVIEW and so on…
136. Types
QlikView
QlikView makes business intelligence, analysis and reporting easy
Easy for the IT department and easy for the end-user
QlikView combines ETL, data storage, multi-dimensional analysis and
the end-user interface in the same package - so deployments are
lightning fast and ongoing maintenance is simple.
QlikView's point-and-click interface makes it easy for users to
understand - and use right away
137. Types
Tableau
Tableau Software helps people see and understand data
Used by more than 17,000 customer accounts worldwide
Create visualizations and dashboards in minutes, then share in
seconds.
139. Types
Cognos
Cognos provides a cohesive Performance Management and
Business Intelligence solution, with budgeting, strategic planning,
forecasting, and consolidations - across financial, operational,
sales and marketing, and human resources departments.
Developed by IBM
140. Types
IntelliVIEW
IntelliVIEW is an end- to-end reporting and analytics solution for
enterprises.
IntelliVIEW consists of two components
IntelliVIEW Designer for report creation
IntelliVIEW Report Analyzer for report viewing and on-demand
analysis.
Together, they offer a healthy mix of traditional reporting, query,
analytics and business intelligence capabilities.
Developers can use IntelliVIEW to design reports from any relational
database without any data preparation and make it available over the web.
142. CONCLUSION
CONCLUSION
I conclude that using QlikView is the best tool for generating
reports.
It is easy to use and user convenient.
Can connect to any Database i.e., Oracle, MySQL, NoSql, HDFS and so
on.
Its open source
144. June 21, 2017 144
Agenda
•Database Introduction
•Different SQL standard and implementations
- MySql
- SQL Server
- Oracle DB
- PostgreSQL
• Comparison
•Statistics
145. June 21, 2017 145
Database introduction
•A database is structured collection of data.
•Databases may be stored on a computer and examined using a program
•These programs are called database management systems (DMS)
•Relational database: a database structured to recognize relations between
stored items of information
•An object-relational database (ORD), or object-relational database management
system (ORDBMS), is a database management system (DBMS) similar to a
relational database, but with an object-oriented database model: objects, classes
and inheritance are directly supported in database schemas and in the query
language.
146. June 21, 2017 146
MySql
Mysql
• Is a Relational Database Management System
• MySQL is written in C and C++
• Its SQL parser is written in yacc
• The first version of MySQL appeared on 23 May 1995
• MySQL is offered under two different editions: the open source MySQL
Community Server and the proprietary Enterprise Server
147. June 21, 2017 147
MySql
Limitations
•MySQL does not currently comply with the full SQL standard for some of the
implemented functionality
•Up until MySQL 5.7, triggers are limited to one per action / timing
•No triggers can be defined on views
•MySQL database's inbuilt functions like UNIX_TIMESTAMP() will return 0
after 03:14:07 UTC on 19 January 2038
148. June 21, 2017 148
Mysql Server
• Is a relational database management system developed by Microsoft
•As a database server, it is a software product with the primary function of
storing and retrieving data as requested by other software applications which
may run either on the same computer or on another computer across a network
(including the Internet).
•SQL Server uses as its primary query languages T-SQL and ANSI SQL
•Azure SQL Database is the cloud-based version of Microsoft SQL Server,
presented as a platform as a service offering on Microsoft Azure
149. June 21, 2017 149
Mysql Server
•
•Data storage is a database, which is a collection of tables with typed columns
•Microsoft SQL Server also allows user-defined composite types (UDTs) to be
defined and used
•SQL Server buffers pages in RAM to minimize disc I/O
150. June 21, 2017 150
Oracle DB
• Oracle Database (commonly referred to as Oracle RDBMS or simply
as Oracle) is an object-relational database management system produced
and marketed by Oracle Corporation
•An Oracle database system—identified by an alphanumeric system identifier or
SID—comprises at least one instance of the application, along with data storage
•The Oracle DBMS can store and execute stored procedures and functions within
itself
•The Oracle RDBMS stores data logically in the form of tablespaces and
physically in the form of data files
151. June 21, 2017 151
Oracle DB
• The partitioning feature was introduced in Oracle 8
•This allows the partitioning of tables based on different set of keys.
•Specific partitions can then be easily added or dropped to help manage large
data sets.
•Oracle database management tracks its computer data storage with the help of
information stored in the SYSTEM tablespace
•The SYSTEM tablespace contains the data dictionary—and often (by
default) indexesand clusters
152. June 21, 2017 152
PostgreSql
• is an object-relational database management system (ORDBMS) with an
emphasis on extensibility and on standards-compliance
• PostgreSQL implements the majority of the SQL:2011 standard
• handles complex SQL queries using many indexing methods that are not available
in other databases
•PostgreSQL is cross-platform and runs on many operating systems including
Linux, FreeBSD, Solaris, and Microsoft Windows
• It is free and open-source software, released under the terms of the
PostgreSQL License, a permissive free-software license
153. June 21, 2017 153
PostgreSql
• PostgreSQL manages its internal security on a per-role basis
• The sepgsql extension (provided with PostgreSQL as of version 9.1) provides an
additional layer of security by integrating with SELinux
• Current version 9.4 released on 2015-06-12 (JSONB data type, ALTER
SYSTEM statement for changing config values, refresh materialized views
without blocking reads)
154. June 21, 2017 154
Comparison
Feature MS SQL
Server
Oracle Mysql PostgreSQL
License Commercial
software
Commercial
software
Free/open
source
Free/open
source
Server-side
scripts
Transact-SQL &
.NET lang.
PL/SQL ---- User defined
functions
OS support Only windows All except
BSD
All All
Maintainer/
developed
by
Microsoft Oracle
corporation
Oracle
Corporation
PostgreSQL
Global
Development
Group
Interface GUI, SQL API, GUI,
SQL
GUI, SQL API, GUI,
SQL
155. June 21, 2017 155
Comparison
Feature MS SQL
Server
Oracle Mysql PostgreSQL
ACID
properties
Supports Supports Supports Supports
Auto-increment
columns
Yes No Yes Yes
(SERIAL
data type)
Automatic
conversion of
code pages
No Yes No No
Sql variant Fast
standard
Fast
standard
Slow
standard
Fast
standard
156. June 21, 2017 156
Statistics
According to CD Times magazine dated July 1, 2004
Top Deployed Databases poll shows following databases in use:
SQL Server with 78%, Oracle - 55%, MySQL - 33% and PostgreSQL - 8%.
157. June 21, 2017 157
Statistics
In 2009, in a survey, total votes received are 1,697.
SQL Server – 1,121 – 64%,Oracle – 432 – 25%,
MySQL – 144 – 8% ,Other – 64 – 4%.
Other includes PostgreSQL with 12 votes