Sei sulla pagina 1di 24

JavaEE

Application
Server
Dilemmas
Yuval Wilf
System Architect
Verint Inc.
Agenda

• Multi tier Enterprise applications &


Application Servers
• JavaEE – Standard for developing
enterprise solutions
• Open source Vs. Commercial JavaEE
Application Servers
• Why choose open source

JavaEE Application Server Dilemmas 2


N – Tier (Enterprise) Architecture
The application logic is divided by function rather than
physically
Web Server\s Application Server\s

Interface
HTML DB
(browser)
EIS
Web

Interface
Thin / Rich
Client
Remote System

Interface
Presentation Business
Server

Any GUI
Logic Logic Web Server

JavaEE Application Server Dilemmas 3


Enterprise Applications

Stock Trading System Banking Application


Network Management System

Middleware Services
 Remote Method
invocations
Characteristics  Load balancing
• Distributed  Transparent fail-over
applications  Back-end integration
• Multiple clients  Transactions Application
 Clustering
• Multiple servers  System Management Server
• Database(s)  Threading
 Message Oriented
Middleware
 Resource pooling
 Security
JavaEE  Caching
Application Server Dilemmas 4
Enterprise Goals
 Reuse

 Time-to-market quicker

 Cost Cheaper

 Quality Better

 Portability - “write once, deploy anywhere”

JavaEE Application Server Dilemmas 5


Multi Tier Enterprise Application Characteristics
 Scalability – add additional computing resources without
changing the application
 Availability – the assurance that a service/resource is always
accessible
 Extensibility – add/modify functionality without impacting
existing functionality
 Reliability – the assurance of the integrity and consistency of the
application and all of its transactions
 Security – authentication, authorization and protection from
attacks
 Interoperability - share data with external systems and
interface to external systems
 Maintainability - correct flaws in the existing functionality
without impacting other components/systems
 Manageability - manage the system in order to ensure the
continued health of a system with respect to scalability, reliability,
availability, performance, and security
JavaEE Application Server Dilemmas 6

What is JavaEE ?

Open and Standard based platform for:


 Developing
 Deploying
 Managing

N-tier, Web-based, server-centric, and


component-based enterprise applications

JavaEE Application Server Dilemmas 7


JavaEE Definition and Characteristics
The JavaEE platform consists of a set of
• services
• API’s
• Protocols
 Provides a service-oriented infrastructure to
automatically support and manage components
 Provides a total application solution
 Hides complexities away from developers
 The enterprise developer concentrates on
application components rather than underlying
services
 Separation of business logic and services provides
better reuse of business logic
JavaEE Application Server Dilemmas 8
JavaEE Platform

Source: Sun
MicroSystems
JavaEE Application Server Dilemmas 9
JavaEE Enterprise Application
client
JMS Destination

client
container
client
client
DB
client get
free

client
server
client

EJB
Components

JavaEE Application Server Dilemmas 10


JavaEE Standard Services
Web JDBC
Container
JSPs DB
Html Servlets
Form Java
(browse Mail

JCA\JMX
r)
JDBC
Mail
Java
JNDI

Mail
JMS
JTA

JavaEE
RMI /

Server
IIOP

application Java
RMI
Applet Server Applicat
(brows
ion
er) EJB
Container
JNDI
EJB EJB EJB

Any Java Mail Directory


Clie
JCA\JMX
Service
JMS
JDBC
JNDI

nt
JMS
JTA
RMI /
IIOP

Message
Queue

JavaEE Application Server Dilemmas 11


JavaEE Vs POJO Applications
• Spring
• Popular but non-standard open source framework
– lock-in
• Proprietary API

• JavaEE
• End to End Solution
• Far more mature
• Standard supported by all major JavaEE vendors –
vendor independence
• EJB 3.0 – evolution to POJO
• Easy to Recruit team members
JavaEE Application Server Dilemmas 12
Open Source Vs. Commercial App Servers

JOnAS

JavaEE
Applicatio
n Server

Open Commercia
Source l
JavaEE Application Server Dilemmas 13
Magic Quadrant for Enterprise App Servers, 2Q08
Ability to Execute
•Interoperability and standards
compliance
•Product maturity
•Platform coverage
•Breadth of add-ons and
applications from the vendor
company
•Product viability and installed
base
Completeness of with minimal
•Ability to innovate
Vision
•Advanced
disturbance to users (backward
service-oriented architecture (SOA)
compatibility)
support
•Event-driven architecture (EDA) support
•Tracking the latest and most impactful Web
innovations
•XTP features
•Innovation in programming models and the use of
metadata Source: Gartner
•Innovation in administration/management
technologies
http://mediaproducts.gartner.com/reprints/microsoft/vol3/article2/article2.html
•Innovation in internal architecture
•Support for SaaS-style deployment of applications
JavaEE Application Server Dilemmas 14
What Does Gartner Say About JBoss

Source: Gartner

JavaEE Application Server Dilemmas 15


Why Use Open Source Application Server
• Open source software is gaining broad acceptance –
vast install base
• No License costs – but remember license costs is
only a part of the total costs – support & services
• Robust, Stable, Ease of use, JavaEE compliant
• Flexibility - can plug-in specific commercial JavaEE
specification implementations
• Sun’s commitment to Open Source Technologies –
power of users
• JBoss – “Because they have such great developers
and are driven by nothing other than technical
reasons, they are actually able to innovate and
extend the capabilities of JavaEE containers”
• Depending on JavaEE
the Application
levelServerof use
Dilemmasof proprietary features
16
Thank You

Q&
A
Presentation:
http://mail.netanya.ac.il/~yuvalw

JavaEE Application Server Dilemmas 17


Case Study – Verint Chooses JBoss

Gai Berkovich

Back to Menu
18
JavaEE Application Server Dilemmas
Communications Interception

Staging Area
Interception Business
logic & dB
Monitoring &
analytic engines

JavaEE Application Server Dilemmas 19


VERINT plans ahead

Facts
 Before major version
 No real middle tier
 Running on Sybase ASE on Solaris
 Having both smart client and WEB client
 We are in the edge of performance

JavaEE Application Server Dilemmas 20


The challenge
• High performance !!
• Support both MS and non MS platfrom
• J2EE implementation – no single vendor
• Considering adding dB vendors (Oracle, MsSQL,
Sybase IQ)
• 3rd party client API’s (Open API’s)
• Improved deployment
• Vastly growing application
• Due date is yesterday

• Move from 2 tier to N tier architecture or do


more of the same and better?
• Which application server is best for us?
JavaEE Application Server Dilemmas 21
The process
• Which application server?
• Jboss!! It is free …
• Cross platform application  Java
• Should we go for N-tier?
• Session with CTO’s, system architect, VP R&D’s
from other companies, that already did it
• Plan with marketing to sell current version for
very long time
• Add SP’s mechanism  give time and more time
to productized the new major release
• Find large scale and friendly Beta site
• Training and recruiting personal
• Reorganize R&D group to meet new challenges
JavaEE Application Server Dilemmas 22
Verint chooses JBoss

Cross platform
components
 Java business logic JBoss
layer EJB
Stateless MDB
 JBoss application Beans ( JMS)

server Hibernate ORM


 Hibernate
 JDBC for DBS access
TC platforms DBS
Application
DBS
Application
 MC on Solaris 8 with SQL SQL
Sybase ASE 12.5
Sybase ASE 12.5 MS SQL 2000
 Administration only
applications on Solaris8 Win2003
Windows OS with SQL
server
DC Platforms
JavaEE Application Server Dilemmas 23
 Windows OS with
The end

Q&A
JavaEE Application Server Dilemmas 24

Potrebbero piacerti anche