Title: ebusiness Application Development
1e-business Application Development
2J2EE vs .Net
3Benefits of J2EE
- Simplified architecture and development
- Variety of standard services, components, and
clients - Choices of tools
- Portability
- Integration with existing information systems
- Separation of Responsibilities
- Scalability
- Flexible security model
4J2EE Technologies Summary
J2EE 1.3 Required Standard Extension APIs
API
Applet
Application Client
Web
EJB
JDBC 2.0
N
Y
Y
Y
JTA 1.0
N
N
Y
Y
JNDI 1.2
N
Y
Y
Y
Servlet 2.3
N
N
Y
N
JSP 1.2
N
N
Y
N
EJB 2.0
N
Y1
Y2
Y
RMI-IIOP 1.0
N
Y
Y
Y
JMS 1.0x
N
Y
Y
Y
JavaMail 1.2
N
N
Y
Y
JAF 1.0x
N
N
Y
Y
1 Application clients can only make use of the
enterprise bean client APIs. 2 Servlets and JSP
pages can only make use of the enterprise bean
client APIs.
5 Server Side Component - JSP
- HTML document
- Embedded JSP specific tags
- Inline Java Code
- On the server, JSP Page is parsed and compiled
into a Java Servlet - WebSphere 5.0 fully supports JSP1.2
6Server-Side Components - Servlets
- Servlets are Java classes that allow application
logic to be embedded in HTTP request-response
process. - J2EE 1.3 requires
- Servlet 2.3 specification
7J2EE Services JDBC
- Provides database-independent connectivity to a
variety of data stores - J2EE 1.2 specifies
- JDBC 2.0 Core APIs - Basic database services
- JDBC 2.0 Extension APIs - Advanced functionality
- Connection Pooling
- Transactional capabilities
- Functionality provided by a combination of
WebSphere and a compliant JDBC driver
8Application Servers
- Application Servers
- Work with Web server to manage browser and Java
based client sessions - Support server-side business logic
(Servlets/JavaServer Pages/EJBs) - Connect to back end computing resources for data
and transaction processing - Application server benefits
- Simplify development and deployment of
web-enabled e-business applications - Support connections to legacy data and
applications - Deliver a set of application deployment and
management tools
Application Serving
Transaction Serving
Client
Page Serving
Business Applications
App Server
Web Server
Active Business Rules
User Interface
Transactions
9Model-View-Controller architecture
- Reduce the programming effort required to build
and maintain systems - Separate the application into 3 distinct layers
- Controller - application flow
- Model - business logic
- View - the output
- Models, Controllers, and the views are treated as
separate entities - Changes can be made independently
- Different people/skills can work independently
10WebSphere Application Server
/JSP
11Software
- HTTP Servers
- Apache HTTP Server (Open Source)
- IBM HTTP Server powered by Apache
- Many others
- Some Application Servers
- Jakata Apache (Open Source)
- Tomcat
- IBM WebSphere Application Server
- BEA Weblogic
- Sun iPlanet
- And more
- Comparable MS support
- IIS (Internet Information Services)
12WebSphere Application Server - Express
- An offering from IBM that contains
- WebSphere Application Server
- WebSphere Studio Site Developer
- IBM Agent Controller
- Tools to build and deploy J2EE compliant
applications
13WebSphere Application Server Express
ExpressApplication Server
Site Developer
Webprojects
Develop
Agent Controller
Applicationserver- JSPs- Servlets
deploy
ExpressTestEnvironment
Web server-HTML-images
WebClient
Data Access -DB2 -Oracle -SQL Server
-Cloudscape
14Perspectives
- A group of related views and editors is called a
perspective - Configurable
- There is a perspective for each of the different
roles in a development life cycle (some roles
overlap) - Open different perspectives by
- PerspectivegtOpengtOther
- Selecting Open Perspective Button
- To switch between perspectives use shortcut bar
15Perspective/Project, What's the difference?
- Perspectives are different ways of looking at the
same project
Projects - a grouping of resources
Perspectives-multiple views of assets in
workbench providing tools to help with task
16Views
- Perspectives are made up of views
- Display a view by selecting Perspective gt Show
Views
- Views support
- Editors
- Provide alternative presentations or navigation
of the information - A view might appear by itself, or stacked with
other views in a tabbed notebook - Views can be floated by Selecting the blue bar at
the top of the Tasks view and drag it on to the
desktop.
17Web Application
- Defined in J2EE and Java servlet specification
- Standardized format which is compatible between
multiple vendors - Contains
- JavaServer Pages
- Servlets
- Applets
- HTML and XML files
- Meta information to connect elements
- Deployment descriptor
18J2EE Deployment Descriptor (DD)
- XML-based files describing the environment for
modules and its components - Each module and ear file has a deployment
descriptor - Can be automatically created and verified by
WebSphere's deployment tool - Application Assembly Tool (AAT)
- Can be manually created or edited
19Running the Application
- Need to create an application server
- Site Developer will create one for you
- HTTP Server
- Application Server
20WebSphere Application Server Express
ExpressApplication Server
Site Developer
Webprojects
Develop
Agent Controller
Applicationserver- JSPs- Servlets
deploy
ExpressTestEnvironment
Web server-HTML-images
WebClient
Data Access -DB2 -Oracle -SQL Server
-Cloudscape
21Web Pages
- Static
- Constant information
- Can only be changed by changing the html page
- Dynamic
- Information changes
- Database access
- May be customized for individual end user
- Personalization
22Creating an HTML Page
23HTML Editor
24Framesets
header.html
toggle
menu.html
main.html
25Frameset source
26Setting attributes
27Using tables
28The completed table
29Adding Links
30Cascading Style Sheet
- A file that defines a hierarchical set of style
rules that the creator of an HTML or XML file
uses in order to control how that page is
rendered in a browser or viewer, or how it is
printed. - A CSS includes a defined order of precedence to
address cases when the definitions of any style
element in a document conflict.
31Cascading Style Sheets
32Set Style Properties
33WebArt Designer
34Common Database Models
- Relational
- Stores data in a database consisting of one or
more tables of rows and columns - Object
- Combine the elements of object orientation and
object-oriented programming languages with
database capabilities - Support additional data types (complex types)
35Relational Model Concepts
36SQL
- Structured Query Language
- Provides a standard language to access relational
databases - Works with most common database systems
- Microsoft Access, IBM DB2, Oracle, Informix, MS
SQL Server - SQL statements can be used to manipulate a
database - Define a database
- Define tables
- Define columns and their characteristics
- SQL can be used to request rows from a database
- SQL can be used to add, update and delete rows
37Middleware
- A layer of software between your application and
the database - Provides a standard interface to any DBMS
- Examples
- ODBC Open Database Connectivity
- Microsoft Products like Visual Basic
- JDBC Java Database Connectivity
- Java
38Benefits of Middleware
- The same object code can be used to access
different DMBS products - The application is independent of the data
communications protocol - Data can be handled in a format convenient to the
application
39JDBC
- JDBC provides standard Java interfaces to access
databases - It is based on ODBC and supports a subset of what
ODBC supports - Database definition and manipulation is done
using SQL statements - JDBC is useful because it implements a standard
interface - It can theoretically work for accessing any
database - A JDBC driver provides a database specific
connection
40Some JDBC Drivers
- JDBC Driver provides access to a specific
database - COM.ibm.db2.jdbc.net.DB2Driver
- Driver from IBM for accessing DB/2 across a
network - COM.ibm.db2.jdbc.app.DB2Driver
- Driver from IBM for accessing DB/2 locally
- sun.jdbc.odbc.JdbcOdbcDriver
- Driver from Sun for accessing databases supported
by ODBC - ie, MS Access
- oracle.jdbc.driver.OracleDriver
- Driver to access Oracle databases