Application Servers - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Application Servers

Description:

COM/DCOM. Enterprise Java Beans. MTS. CORBA. Container. Scalable. Relibility. J2EE ... Mid 90's WWW - 1st gen. Mid 90's WWW - 1st gen. History. 70's - 80's ... COM/DCOM/COM ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 25
Provided by: espenk
Category:

less

Transcript and Presenter's Notes

Title: Application Servers


1
Application Servers
  • Espen Kjölberg
  • espen.kjolberg_at_iconmedialab.se

2
Application Servers ???
Personalization
Relibility
J2EE
Components
n-tier
Wap gateway
Business Logic
Web server
CORBA
COM/DCOM
Container
Enterprise Java Beans
Middleware
MTS
Scalable
3
History
70s - 80s Mainframe
80s PC
Late 80s Client Server
90s n-tier (3-tier)
90s n-tier (3-tier)
Mid 90s WWW - 1st gen
Mid 90s WWW - 1st gen
Later 90s WWW - 2nd gen
4
WWW - 1st Generation
DB
5
Problems with 1st gen WWW
  • Scalability
  • Reusability
  • Reliability
  • Interacting with other platforms
  • Performance
  • Security

6
Origin
Application Servers emerged from the 3-tier
solution powered by the evolution of 1st to 2nd
generation Internet.
7
3-tier
Client
Business Components
Business Components
Data
8
Application Servers
  • Application Servers in general provide the
    following
  • Client connectivity
  • Business component connectivity
  • Data Source Connectivity
  • Transaction
  • Security
  • Management
  • In addition usually support for fail-over and
    redundancy.
  • Different application servers usually focus on
    some of the above in depth.
  • In Java support for all above is in J2EE.

9
Client Connectivity
  • Main issue Increasing number of clients
  • Usually solved by the following
  • Load balancing of incoming requests
  • Dispatch -Using one or several pools of threads
    where a thread corresponds to a request.
  • Server clustering - Increase the number of
    servers by creating a cluster, that is the
    clients sees only one virtual server.
  • In Java
  • JSP
  • Servlets

10
Business Component Connectivity
  • Possible to interact with other applications and
    platforms, but even more important Used for
    layer separation within an application.
  • Examples of Business Logic components
  • EJB - Enterprise Java Beans
  • CORBA Containers
  • COM/DCOM/COM
  • (Naming service important part of the components
    which gives the opportunity to run on multiple
    servers.)
  • In Java
  • RMI Remote Method Invocation
  • EJB Enterprise Java Beans
  • IDL - ???

11
Data Source Connectivity
  • Support any data source connection
  • Performance issues handled by
  • Database pooling
  • Caching
  • Request multiplexing
  • In Java
  • JDBC Java Database Base Connectivity
  • JMS Java Messaging Sevice
  • JNDI Java Nameing and Directory Interface

12
Transaction
  • Standards
  • OTS - Corba, JTS - Java interface to OTS
  • Two-phase commit
  • maintain data in several databases
    simultaneously.
  • Transaction Resource
  • support participation in two-phase commit trans.
  • Transaction Coordinator
  • Coordinate two-phase commit trans.

13
Security
  • Authentication
  • Verify users who wants a connection through a
    client.
  • Encryption
  • Encrypt sensitive data between clients and server
    or between several servers.
  • Access control
  • May use the application severs ACL to find access
    rights.

14
Management
  • Deployment configuration
  • Objects may be used by several appl servers
  • Runtime monitoring
  • IO, CPU, Memory
  • Important because only the jvm is visible from
    the OS, and usually the jvm runs within the
    application server.
  • Runtime management
  • Specifying Cache, pool sizes and other properties
  • Specifying logs
  • Defining Servlets
  • Defining Enterprise Java Beans

15
WWW - 2nd Generation
Business
Client
Data
16
WWW - 2nd Generation - part II
HTML
WML
17
Another view
18
Another view II
19
Some products
  • Apple WebObjects
  • ATG - Dynamo
  • BEA - WebLogic
  • Bluestone - Sapphire/Web
  • GemStone
  • IBM - WebSphere
  • Iona Technologies - iPortal Application Server
  • Lotus - Lotus Domino Application Server
  • Microsoft - MTS
  • Netscape - iPlanet Application Server
  • Oracle - Internet Application Server
  • ProSyst -Enterprise Java Beans Server Champion
  • Silverstream Software - Silverstream
  • SoftQuad - HoTMetal Application Server
  • SUN - NetDynamics
  • Sybase - Enterprise Application Server
  • Symantec - Visual CafĂ© for Java Enterprise Suite
  • Unify Corporation - Unify VISION
  • Wall Data - Cyberprise Server

20
IBM WebSphere
  • Editions
  • Standard
  • Java Virtual Machine with support to Java
    Servlets, JavaBeans and JavaServer Pages
  • Database Pooling
  • Analysis and Monitoring tools
  • IBM HTTP Server and support to other web servers
  • Advanced
  • Multiple machine environment
  • EJB and EJB replication support
  • Enterprise
  • Component Broker
  • TXSeries (CICS, Encina)
  • Usually used in site with only IBM products, well
    supported in Visual Age, IBMs IDE. One of the
    first on the market.
  • Used by Föreningssparbanken, Eurofootball.com

21
BEA WebLogic
  • Product Components
  • WebLogic Server
  • Weblogic clustor for redundancy, fail-over and
    load balancing
  • Enterprise JavaBeans Support and MS COM
  • Scalable RMI and CORBA Support
  • XML Support
  • WML and WAP support
  • Distributed Transaction support through JTA
  • WebLogic Enterprise
  • Comprehensive transaction management system
  • Mainframe connectivity Support
  • BEA Tuxedo application hosting (ATMI)
  • Weblogic Commerce Server
  • Templates
  • Content management integration with Interwoven
    and Documentum
  • Webflow
  • Usually used in transaction intensive
    applications.
  • Well specified integrations with Tuxedo

22
ATG Dynamo
  • Product components
  • Application Server
  • Commerce Server
  • Personalization Server
  • Scenario Server
  • Dynamo Control Center
  • Very often used in e-commerce sites
  • Full J2EE support, but has several proprietary
    functions.
  • Fail-over and redundancy support
  • Lot of out of the box functionality
  • Used by LetsBuyIt, MsFreckles

23
Oracle Internet Application Server (Oracle 9i)
  • Product components
  • Java
  • Caching
  • Portal
  • Wireless
  • Often used in large Oracle environments
  • Full J2EE support, but has several proprietary
    functions.
  • Relies on their well-known database
  • Used by WideEyes

24
Lessons learned
  • In general gives a lot of functionality, which
    you would need to implement yourself.
  • Development with application servers implies a
    need of extensive knowledge of the actual
    application server
  • Even though Java is used and it should be easy
    to change to another application server, the
    application servers have several proprietary
    functions.
  • Observe functions as load balancing, fail-over
    which is hard to implement
Write a Comment
User Comments (0)
About PowerShow.com