SlideShare una empresa de Scribd logo
1 de 158
June 21, 2017 www.snipe.co.in 1
Prepared :snipe team
June 21, 2017 2
Agenda
•Architecture
- what is Architecture
- Stakeholders of architecture
- Architectural Process
•
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.
June 21, 2017 4
Architecture Stakeholders
• Stakeholders ?
– Architects
– Developers
– Testers
– Managers
– Customers
– Users
– Vendors
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
June 21, 2017 6
Build Tools
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
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.
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
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. 
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 
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.
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.
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.
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
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.
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.
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.
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.
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
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.
June 21, 2017 22
Comparison of Ant and Maven
•Difference between Ant and Maven
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.
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.
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
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
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
June 21, 2017 28
Statistics
• Statistics
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.
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
Web Servers
June 21, 2017 31
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
How Web Servers Work
June 21, 2017 33
Web server
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
Communication b/w browser and server
June 21, 2017 35
Communication b/w client-server
Request and Response Header
June 21, 2017 36
Request and response header
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
53
User Interface Technologies
June 21, 2017 54
Agenda
•User Interface Overview
•Design principles of UI
•JavaScript
•JQuery
•Angular JS
•Dojo
•Node.js
•AJAX
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.
June 21, 2017 56
UI Technologies
User interface design principles
•User familiarity
•Consistency
•User diversity
•User guidance
•Minimal surprise
•Recoverability
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.
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.
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
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
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.
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
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.
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.
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
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.
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.
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.
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.
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
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.
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
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
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
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
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
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
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
June 21, 2017 79
•Supported Technologies:
•XDoclet Spring
•J2EE
•Eclipse plug-ins
•Maven
Hibernate Overview
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
•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
•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
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
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
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
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
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
June 21, 2017 88
Installer Overview
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
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.
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..
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.
• 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…
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.
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.
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.
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.
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.
• 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..
•  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..
• 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
• 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..
•  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…
• 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
• 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
June 21, 2017 106
Inno
Setup
Install
Anywher
e
Advance
d
Installer
IzPack Install
Shield
Setup
Factory
Platform Windows Cross-
platform
Windows Cross-
platform
Windows Windows
Free/Op
en
source
Inno
Setup
license
Proprieta
ry
Proprieta
ry
Apache
license
Proprieta
ry
Proprieta
ry
Installer
Type
EXE EXE,MSI EXE,MSI EXE
Support
for
multiling
ual
installs
Yes Yes No No Yes Yes
Comparison
June 21, 2017 107
Job Scheduling Software
Tools
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.
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
June 21, 2017 110
Job scheduling products without ERP support tools
•Job scheduling products without ERP support tools
•Juice Box
•OpenLava
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.
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.
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.
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.
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.
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.
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.
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
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
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
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®,
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
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
Big Data
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
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
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..
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
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.
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.
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.
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
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
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 ','
Types
Different Types of Data visualization Tools
QlikView
Tableau
SAS
Cognos
IntelliVIEW and so on…
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
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.
Types
SAS
Business Intelligence software tools for data access, management,
analysis, and presentation.
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
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.
Comparison
QlikVie
w
Tablea
u
SAS Cognos IntelliVIEW
Dashboard
Creation
YES YES YES YES
Drill Down YES YES
Graphical Data
Presentation
YES YES YES YES YES
Sales Reports YES YES YES YES
Scheduled /
Automated
Reports
YES YES
Ad Hoc Reports YES YES
Data Visualization YES YES
OLAP YES YES
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
June 21, 2017 143
SQL standard and
implementations
June 21, 2017 144
Agenda
•Database Introduction
•Different SQL standard and implementations
- MySql
- SQL Server
- Oracle DB
- PostgreSQL
• Comparison
•Statistics
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.
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
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
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
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
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
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
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
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)
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
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
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%.
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
June 21, 2017 158
Statistics

Más contenido relacionado

La actualidad más candente

Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional testHarry Zheng
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databasesDevOpsGroup
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryVirendra Bhalothia
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practicesCode Mastery
 
Building an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around JenkinsBuilding an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around JenkinsXebiaLabs
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...CloudBees
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentVladimir Bakhov
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsXebiaLabs
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CloudBees
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...Serena Software
 
DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2Sonatype
 
Package Repositories: The Unsung Heroes of Configuration and Release Managem...
Package Repositories:  The Unsung Heroes of Configuration and Release Managem...Package Repositories:  The Unsung Heroes of Configuration and Release Managem...
Package Repositories: The Unsung Heroes of Configuration and Release Managem...IBM UrbanCode Products
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...Puppet
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsMichael Medin
 

La actualidad más candente (18)

Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Building an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around JenkinsBuilding an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around Jenkins
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database Development
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOps
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
 
DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2
 
Package Repositories: The Unsung Heroes of Configuration and Release Managem...
Package Repositories:  The Unsung Heroes of Configuration and Release Managem...Package Repositories:  The Unsung Heroes of Configuration and Release Managem...
Package Repositories: The Unsung Heroes of Configuration and Release Managem...
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
New DevOps for the DBA
New DevOps for the DBANew DevOps for the DBA
New DevOps for the DBA
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
 

Similar a software technology benchmarking

SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoftvenkata20k
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svnAnkur Goyal
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
S/W Design and Modularity using Maven
S/W Design and Modularity using MavenS/W Design and Modularity using Maven
S/W Design and Modularity using MavenScheidt & Bachmann
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Martin Bergljung
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationOleg Nenashev
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topicGourav Varma
 
Resume-Kalyan
Resume-KalyanResume-Kalyan
Resume-KalyanKalyan V
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
Building cloud native microservices
Building cloud native microservicesBuilding cloud native microservices
Building cloud native microservicesBrian Pulito
 

Similar a software technology benchmarking (20)

Build tool
Build toolBuild tool
Build tool
 
What is maven
What is mavenWhat is maven
What is maven
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Ci
CiCi
Ci
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Maven
MavenMaven
Maven
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Devops
DevopsDevops
Devops
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
S/W Design and Modularity using Maven
S/W Design and Modularity using MavenS/W Design and Modularity using Maven
S/W Design and Modularity using Maven
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
Mavennotes.pdf
Mavennotes.pdfMavennotes.pdf
Mavennotes.pdf
 
Resume-Kalyan
Resume-KalyanResume-Kalyan
Resume-Kalyan
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Building cloud native microservices
Building cloud native microservicesBuilding cloud native microservices
Building cloud native microservices
 

Más de Mallikarjuna G D (20)

Reactjs
ReactjsReactjs
Reactjs
 
Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
 
CSS
CSSCSS
CSS
 
Angular 2.0
Angular  2.0Angular  2.0
Angular 2.0
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
 
Hibernate
HibernateHibernate
Hibernate
 
Jspprogramming
JspprogrammingJspprogramming
Jspprogramming
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
Mmg logistics edu-final
Mmg  logistics edu-finalMmg  logistics edu-final
Mmg logistics edu-final
 
Interview preparation net_asp_csharp
Interview preparation net_asp_csharpInterview preparation net_asp_csharp
Interview preparation net_asp_csharp
 
Interview preparation devops
Interview preparation devopsInterview preparation devops
Interview preparation devops
 
Interview preparation testing
Interview preparation testingInterview preparation testing
Interview preparation testing
 
Interview preparation data_science
Interview preparation data_scienceInterview preparation data_science
Interview preparation data_science
 
Interview preparation full_stack_java
Interview preparation full_stack_javaInterview preparation full_stack_java
Interview preparation full_stack_java
 
Enterprunership
EnterprunershipEnterprunership
Enterprunership
 
Core java
Core javaCore java
Core java
 
Type script
Type scriptType script
Type script
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
Git Overview
Git OverviewGit Overview
Git Overview
 

Último

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 

Último (20)

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 

software technology benchmarking

  • 1. June 21, 2017 www.snipe.co.in 1 Prepared :snipe team
  • 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.
  • 4. June 21, 2017 4 Architecture Stakeholders • Stakeholders ? – Architects – Developers – Testers – Managers – Customers – Users – Vendors
  • 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
  • 6. June 21, 2017 6 Build Tools
  • 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
  • 28. June 21, 2017 28 Statistics • Statistics
  • 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
  • 33. How Web Servers Work June 21, 2017 33 Web server
  • 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
  • 35. Communication b/w browser and server June 21, 2017 35 Communication b/w client-server
  • 36. Request and Response Header June 21, 2017 36 Request and response header
  • 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.
  • 56. June 21, 2017 56 UI Technologies User interface design principles •User familiarity •Consistency •User diversity •User guidance •Minimal surprise •Recoverability
  • 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
  • 106. June 21, 2017 106 Inno Setup Install Anywher e Advance d Installer IzPack Install Shield Setup Factory Platform Windows Cross- platform Windows Cross- platform Windows Windows Free/Op en source Inno Setup license Proprieta ry Proprieta ry Apache license Proprieta ry Proprieta ry Installer Type EXE EXE,MSI EXE,MSI EXE Support for multiling ual installs Yes Yes No No Yes Yes Comparison
  • 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.
  • 138. Types SAS Business Intelligence software tools for data access, management, analysis, and presentation.
  • 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.
  • 141. Comparison QlikVie w Tablea u SAS Cognos IntelliVIEW Dashboard Creation YES YES YES YES Drill Down YES YES Graphical Data Presentation YES YES YES YES YES Sales Reports YES YES YES YES Scheduled / Automated Reports YES YES Ad Hoc Reports YES YES Data Visualization YES YES OLAP YES YES
  • 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
  • 143. June 21, 2017 143 SQL standard and implementations
  • 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
  • 158. June 21, 2017 158 Statistics

Notas del editor

  1. ACID: Atomicity, Consistency, Isolation, Durability