E142 Introduction to J2EE and EAServer - PowerPoint PPT Presentation

Loading...

PPT – E142 Introduction to J2EE and EAServer PowerPoint presentation | free to view - id: 204c55-ZDc1Z



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

E142 Introduction to J2EE and EAServer

Description:

Common Gateway Interface (CGI) Netscape NSAPI. Microsoft ... All (CGI) Distributed Protocols. Objects: IIOP, IIOPS. Web: HTTP, HTTPS ... Tutorial (MyVacation ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 41
Provided by: Kar9252
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: E142 Introduction to J2EE and EAServer


1
E142 Introduction to J2EE and EAServer
Meyer Tanuan Software Engineering
Manager e-Business Division mtanuan_at_sybase.com
2
Session Objectives
  • To learn the major steps in building a robust,
    secure and scalable web-based application using
    J2EE technologies
  • To learn the features of Sybase EAServer that
    makes developing web-based applications easier

3
Agenda
  • Multi-tier Distributed Applications
  • Problems Solved by EAServer
  • Developing J2EE Applications
  • EAServer Features
  • Summary

4
Multi-tier Distributed Applications
Presentation (First Tier)
Business Logic (Middle Tier)
Backend (Third Tier)
Application Server Web Server ERP, CRM
Database Sybase, Oracle DB2, MS SQL
  • Thin Client
  • Windows client
  • Java Client
  • - Browser client
  • Mobile Client

Sybase EAServer
Enterprise computing is a heterogeneous
environment !
5
Why Use an Application Server?
  • Software Developer
  • Reusable business objects
  • Application partitioning
  • Business rule processing
  • Cross-platform integration
  • Standard approach to developing business
    components
  • System Administrator
  • Scalability number of users, number of
    components
  • Incremental upgrade adding servers
  • Standard deployment procedures

6
Problems Solved by EAServer
  • Complex design and development
  • EAServer supports J2EE platform
  • PowerJ or IDE plug-ins support EJB, JSP, Servlets
  • EAServer has many built-in services
  • Proprietary Technology Issues
  • supports open standards
  • supports wide-range of clients, components
    technologies, web server interfaces, Unix and NT
    platforms

7
Problems Solved by EAServer (2)
  • Performance Issues
  • Scalable, multithreaded, multiprocessor engine
  • Clustering, load balancing
  • DB connection pooling, dynamic page caching, etc.
  • Complex deployment
  • Jaguar Manager GUI-based deployment tool
  • Jagtool Jagant command-line deployment tool

8
EAServer Has Many Built-in Services
  • EAServer provides basic services for hosting
    components
  • Connection pooling
  • Transaction management
  • Component life cycle
  • Security
  • Multi-threading
  • Name services
  • Messaging
  • and more

9
Java 2 Enterprise Edition (J2EE)
  • Defines a standard for developing multi-tier
    applications
  • Vendors collaborate on standards and compete on
    implementation
  • All the pieces of the application are portable
    across platforms and servers
  • Simplifies application development
  • Developer focuses on application logic
  • EAServer handles complexity of lower level
    services

10
J2EE Architecture
11
Developing J2EE Applications
JSP Engine
HTTP Server
JDBC
HTTP
HTML
Servlet Container
JNDI
EJB Container
EAServer
Browser-based and software-based clients can
access the same components !
12
J2EE Development Process
  • Step 1. Develop the Components
  • Use J2EE wizard to create skeleton programs
  • Write and compile the application-specific code
  • Build the Java archive file (.ear, .war, .jar)
  • Step 2. Deploy to EAServer CTS

JB, TCC, VC
JAR, WAR or EAR file
Jaguar Manager
13
EAServer is J2EE-branded
Technology Java 2 SDK, Standard
Edition RMI/IIOP JDBC JNDI Servlet JavaServer
Pages JavaMail, JavaBeans Activation
Framework Java Transaction Service Enterprise
JavaBeans Java Transaction API Java Message
Service Java API for XML Parsing J2EE Connector
Architecture
Version 1.3 1.2 2.0 1.2 2.3 1.2 1.2 1.0 2
.0 1.0 1.0.2 1.1 1.0
14
Key J2EE APIs
  • Component Technologies
  • Servlets
  • Java Server Pages (JSP)
  • Enterprise Java Beans (EJB)
  • Service Technologies
  • Java Database Connectivity API (JDBC)
  • Java Naming and Directory Interface (JNDI)
  • Java Transaction API and Service (JTA)
  • Communication Technologies
  • Messaging (JMS, JavaMail), Internet Protocols,
    etc.

15
1. J2EE Component Servlets
  • Server-side Java program that extends the
    functionality of a Web Server
  • Used to dynamically generate HTML documents
  • Comparable to
  • Common Gateway Interface (CGI)
  • Netscape NSAPI
  • Microsoft ISAPI
  • Apache Modules

16
Dynamic Page Generation Using Servlets
http//www.myvacation.com/servlet/ListDest
Servlet Container
HTTP Server
JDBC
HTML
HTTP
EAServer
17
Servlets as Part of J2EE
  • Contribution
  • Provides platform/server independent and scalable
    architecture for developing HTTP-based
    applications
  • Limitations
  • Modification of static content requires
    recompilation
  • Business logic not reusable by non-Web clients

Addressed by JSP
Addressed by EJB
18
2. J2EE Component Java Server Pages
  • Web scripting technology
  • Creation of dynamic content using static
    templates
  • Combine markup (HTML or XML) with Java Code to
    produce a dynamic Web Page
  • Similar to Microsoft ASP
  • Uses Java as its scripting language
  • Full power of the Java language
  • Simple tags allow non-Java developer to generate
    dynamic content

19
Dynamic Page Generation Using Java Server Pages
(JSP)
http//www.myvacation.com/ListDest.jsp
JSP Engine
HTTP Server
JDBC
HTML
HTTP
Servlet Container
EAServer
20
A Simple JSP
lthtmlgt ltbodygt lt_at_ page language"java" import""
gt ltH1gtWelcome back, lt String user (String)
session.getAttribute("user") out.println(user)
gt lt/H1gt lt/bodygt lt/htmlgt
21
Java Server Pages and Servlets
  • Servlets
  • HTML enclosed in Java code
  • JSP
  • Java code enclosed in HTML
  • Easier to author
  • Better tool support

22
Dynamic Page Generation Using JSP and Servlets
JSP Engine
HTTP Server
JDBC
HTML
HTTP
Servlet Container
EAServer
  • Limitations
  • Violates application partitioning
  • Business logic not reusable
  • Limited support for non-Web clients

23
3. J2EE Component Enterprise JavaBeans (EJB)
  • Server-side component model allowing developers
    to concentrate on business logic
  • EJB server handles complexity of lower level
    services
  • Component life cycle
  • Persistence, etc.
  • EJB API guarantees components to be portable
    across EJB Servers

24
Using Enterprise JavaBeans (EJB)
http//www.myvacation.com/Trips.jsp
JSP Engine
HTTP Server
JDBC
HTML
HTTP
Servlet Container
JNDI
EJB Container
RMI/IIOP
  • Simplify JSP
  • Reuse business logic

EAServer
25
EJB Entity Beans
  • Used to
  • Represent a business entity (like a row in a
    database table)
  • Provide standard access and validation for
    business entities
  • Persistent (live beyond server lifetime)
  • Usually represent data in a database
  • Examples
  • Customer, Order, ...

26
EJB Entity Beans
  • Used to
  • Represent a business entity (like a row in a
    database table)
  • Provide standard access and validation for
    business entities
  • Persistent (live beyond server lifetime)
  • Usually represent data in a database
  • Examples
  • Customer, Order,

27
EJB Container Managed Persistence
  • Developers can focus on application logic
  • Bean to database mappings can be saved in
    EAServer-specific deployment descriptors in XML
  • Declarative management of relationships between
    beans and dependent objects
  • Tool support PowerJ 4.1, PowerDesigner 9.0
  • Database and vendor independence
  • Standard Query Language (EJB-QL) based on CMP
    bean definitions

28
EJB Session Beans
  • Used to
  • Manage processes and tasks (for a single session)
  • Model the workflow of Entity beans
  • Retrieve and update data that can't be adequately
    captured in an entity bean
  • No persistent state
  • Examples
  • Find a list of trips
  • Make a purchase

29
EJB Example
Booking .JSP
book( )
Authorization (Session)
Booking (Session)
authorize( )
Order (Entity)
create( )
30
EJB 2.0 Message Driven Beans
  • Used to
  • Manage complex ongoing process with extended
    latency between activities
  • Manage loosely-coupled communication
  • receive JMS messages asynchronously
  • MDB listens to a JMS destination queue or topic
  • Only one business method onMessage
  • Example
  • Order Fulfillment Process InvoiceMDB

31
4. J2EE Service JDBC API
Application
JDBC
  • Standard database access API for building
    database independent applications
  • Driver Example com.sybase.jdbc2.jdbc.SybDriver

Driver
Driver
Driver
Driver
Sybase
Oracle
SQL Server
Others
32
5. J2EE Service JNDI
Application
  • Standard name server API for building name server
    independent applications
  • Driver Example com.sybase.ejb.InitialContextFacto
    ry

JNDI
Driver
Driver
Driver
Driver
Sybase
LDAP
CosNaming
Others
33
6. J2EE Service Java Transaction API
  • Used to
  • Combine multiple components and EIS accesses into
    a single transaction
  • J2EE propagates transactions without programming
    effort
  • JTA Transactions begin
  • Implicitly by EJB server
  • Explicitly in code using interface
    javax.transaction.UserTransaction
  • Example
  • book() method calls authorize() and create()

34
EAServer 4.0 Architecture
35
EAServer Standards
  • Components
  • C, C
  • Java, JavaBeans, EJB,
  • CORBA
  • ActiveX/COM
  • PowerBuilder NVOs
  • Web Servers
  • Major (NSAPI, ISAPI)
  • All (CGI)
  • Distributed Protocols
  • Objects IIOP, IIOPS
  • Web HTTP, HTTPS
  • Database TDS, TDSS
  • Platforms/Processors
  • NT, Unix, SMP
  • Data Access
  • JDBC
  • ODBC
  • CT-Library
  • OCI
  • Security
  • SSL 3.0
  • X.509 v.3
  • RSA
  • Integrated OS security
  • Naming
  • CORBA CosNaming
  • Java JNDI
  • Storage LDAP

36
Other EAServer Enterprise-level Infrastructure
  • Clustering
  • Synchronization
  • Load Balancing
  • High Availability
  • Security
  • Authentication
  • Authorization (roles)
  • Encryption (SSL, Public Key)
  • Database Connectivity
  • Performance
  • Messaging,

37
Webserver Redirector Plug-ins
  • Client sends Http(s) requests to a Web server in
    the DMZ
  • Provides a software-based solution for http load
    balancing and failover
  • Available for IIS, Apache, Netscape and iPlanet
    Web servers

DMZ
EAServer
Web server
38
Summary
  • EAServer
  • Solves many problems common to multi-tier
    distributed applications
  • Supports J2EE Platform to simplify design and
    development
  • Has many built-in services
  • Supports many component types using CORBA
  • Provides enterprise-level infrastructure

Developers can focus on application logic !
39
For More Information
  • EAServer http//www.sybase.com/products/easerver
  • PowerJ J2EE Tutorial (MyVacation example)
  • EAServer documentation Feature Guide, Getting
    Started, System Administration Guide
  • J2EE specifications and samples
    http//java.sun.com/j2ee
  • Book Taming Jaguar, by Mike Barlotta Jason
    Weiss
  • Sybase Education Courses Building Web
    Applications Using EAStudio, EAServer
    Administration
  • Other Techwave Sessions

40
Questions
About PowerShow.com