WebSphere - TechTarget
Download
Report
Transcript WebSphere - TechTarget
s
Getting Started in the
World of WebSphere
Paul Holm
PlanetJ Corporation
© 2005 PlanetJ Corporation. All rights reserved.
What We'll Cover...
•
•
•
•
How are Java and WebSphere Used Today?
What Lessons Have Been Learned?
Terminology of Java and WebSphere Worlds
The Key Considerations When Starting a
WebSphere or Java Project
• Tools Used to Create Applications
Java and WebSphere
Usage Today
The Business Challenge
• Wabash National
Leading supplier of semi trailers & parts
Large demand for customer information
Order information and status
Invoice, sales figures, etc...
Back order parts and status
Used trailer sales
Warranty processing
Information demands required a large labor pool for
Customer Service reps
Customers want information 24 X 7
Typical “self-service” application
The Business Solution
• Internet “self-service" applications
Customers can now access their account information
24x7
Reduction in customer service reps and labor costs
Increased customer satisfaction
Warranty claim processing 92% more efficient
Skills developed with Java and WebSphere for future
development
Solution Details
Solution Details (cont.)
Solution Details (cont.)
Solution Details (cont.)
• "SmartParts, Used Trailers, Warranty” developed in
WebSphere Application Server (WAS)
Developed in Java using VisualAge 4.0
Deployed to WebSphere 4.x running on iSeries, later
moved to WAS Express
Uses SSL and authentication to secure data
Accesses a J.D. Edwards ERP system for order and
invoice information
Uses iSeries Native Abstract Windowing Toolkit
for graphics
Solution Experiences
• WebSphere installation and administration was
tricky
More time spent on installation and configuration than on
the initial application development!
We needed to install:
Apache HTTP Server
WAS 4.0
NAWT
PASE
Solution Experiences (cont.)
• WebSphere issues
Fix packs need to be installed with care
4.x Advanced administrator console
Performs slow
Non-descriptive error messages
• WebSphere 5.x and WebSphere Express are better
Easier installation and administration
Lower CPW and memory requirements
Solution Experiences (cont.)
• Tips:
Ensure your iSeries has sufficient memory and CPU to
run WebSphere
V5R2 WAS Express (CPW: 300, 512MB)
V5R2 WAS BASE (CPW: 750)
o With EJB (CPW: 1000)
If you have low CPW and memory, you’ll find that
WebSphere will run much faster on a Windows or
Linux server
WebSphere 5.0 is easier to install and manage. Don’t
bother with any release below 5.0.
The Business Problem
• FlowServe Corporation
Engineer top-end mechanical pumps
Needed solution to track and manage supplier purchase
order system
The Business Solution
• Suppliers sign on and view their purchase orders
from a back-end PRMS-based ERP
• Suppliers are able to electronically
Confirm purchase orders
Change delivery date
Change delivery quantity
Request price change for purchase order
• All changes are dynamically updated in DB2/400,
and changes are e-mailed to buyers
Connecting to Suppliers
The Business Problem
• Cybra Corporation
Develops iSeries barcode design software
Existing solution was 5250 "Green Screen" based
Difficulties competing with Window GUI competitors
Solution Details
Why Use Java?
GUI needed for sales/marketing
Platform independence
Architecture
Java client/server "desktop" application
Complex Java graphics on client
Extensive use of AS/400 RPG program via
ProgramCall feature of AS/400 Toolbox for Java
JDBC used for database I/O
Solution Experiences
Existing resources not viable
Six-month trial using existing RPG staff
o Missing skills and experience
Early JDK releases were often buggy
Java performance was an issue
o Heavy memory and CPU usage
o Java profiling used; JProbe is excellent
Data access via JDBC worked very well
Solution Details
Results
260,000 lines of Java
Eight months to develop (three people)
JMagic is generally available
o www.cybra.com
Next releases are in planning
Very successful project
o Won IBM Developer project award
o Sales have increased
Solution Details "JMagic"
Usage Summary
• Much of iSeries Web development focuses on:
Building “Self-Service” Applications (90%)
Allow customers to view their account information
Allow vendors/suppliers to access inventory, purchase
orders, and associated data to better optimize the
procurement process
Allow employees access via browser to sales data
Building Internal EIS (10%)
Management reports
Instant access to real time data
Java and WebSphere Usage
Terminology
Java and WebSphere Terminology
•
Applications
•
Applets
•
Programs that run inside request/response-oriented servers, such as Java-enabled
Web servers, and extend them in some manner.
JavaServer Pages (JSPs)
•
Dynamic and interactive programs that can run inside a Web page displayed by a
browser enabled for Java.
Servlets
•
Programs that run stand-alone. These are "desktop" applications.
Provide an easy way to access server-side components from Web pages by
separating the presentation of dynamic content from the generation of that content.
Enterprise JavaBeans (EJBs)
Combines server-side components with distributed object technologies.
Using Servlets on iSeries
High-Level Perspective
1 - Initiate servlet from Browser
2 - Load servlet
3 - Access resources
1
HTTP Server
Internet/
Network
Browser
2
Java
Servlet
3
Resources
DB2 & RPG
What are JavaServer Pages ?
• The JavaServer Pages technology is a way to dynamically
generate HTML on the server side
• Use HTML files
HTML tags
JavaServer Pages HTML tags
Java as a scripting language
• A JavaServer Pages file has the extension .jsp
• Calls reusable components that reside on the server
JavaBeans
servlets
<html>
<userbean>
</html>
compiled
page
object
browser
web page
Enterprise JavaBeans
• A Java specification from Sun Microsystems that is part of the
J2EE specification
• Component support for server-side business logic
Binary Portability
Reusability
• High-level, declarative interfaces for:
Security
Transactions
Persistence
• Part of WebSphere Base and Network Deployment Editions
EJB support not included in WebSphere Express
• Reduced complexity and effort for application developer
Enterprise JavaBeans (cont.)
• GOTCHA WARNING:
EJBs are Not All They Are Cracked Up To Be In Actual
Use
Current issues include:
Performance
Productivity
Stability
Maintenance
TIP: Perform a "Proof Of Concept" project prior to
widespread use of EJBs
What is an Application Server?
• Emerging software for applications that:
Manage browser- and Java-based client sessions
Provide server-side business logic (Servlets/JSPs/EJBs)
Connect to back-end computing resources for data and
transaction processing
• Most commonly used application servers:
WebSphere (Express, Base, Network Deployment)
Tomcat
WebLogic
Application Servers
JDBC
Sockets, RMI,
IIOP, etc.
Toolbox
Servlets, EJBs
Native
Servlet
API
WebSphere App Server
ICAPI
Apache
ISAPI
NSAPI
Web Server (IBM HTTP Server, Domino, Apache,
IIS,Java Web Server (Jeeves), and others)
HTTP
HTTP
Considerations When
Starting a Project
Planning a Java- or WebSphere-based Project?
Things to consider:
Usage of Java
Education/staffing
Tools
Technical architecture
Many things to
consider...
When to Use Java
• Consider using Java for:
Graphical User Interfaces
Browser-based UI (Servlets and JSPs)
• HTML not as robust as Java GUIs
• “Self-service” Web applications
Strategic application development direction
• Don't Use Java For:
Performance-intensive
applications
Education and Skills
Technology
Months to Basic
Capabilities
Months to High
Productivity
Comments
1.5 - 3
6 - 12
Need to assign
appropriate work!
WebSphere Studio or .5 - 2
ECLIPSE
3-6
Need to assign
appropriate work!
OO Architect
18 - 24
36 - 48
Need heavy design
and project
experience.
Servlets/JSP
.25 - 2
4-6
Prereq is Java Basics.
EJB
2-4
6 - 12
Prereq is Java, OO,
RDB, JDBC,
Experience.
Java Basics
Education and Skills Tips
You need a mix of experience levels
Use highly experienced people for design and
mentoring
Use novices for coding and testing
Experience is invaluable
You need to know what works and what doesn't
Existing/legacy skills are still valuable
Database design and performance are crucial
RPG/Cobol back-end code reused via Toolbox APIs
Tools for
Development
Tools for Development
• Integrated Development Environments
WebSphere Studio (WDSC for iSeries)
Strategic direction for IDEs
Based on Eclipse but is fee-based
Excellent integration with AS/400 (Java Toolbox)
Eclipse
Eclipse is free and open source
www.eclipse.org
Other IDEs
NETBEANS by Sun (www.netbeans.org)
Tools for Development (cont.)
• Design Tools
Rational Rose
Use only if you have experience/skill with it
Carries a big learning curve and is expensive
• Tip: Keep development environments as simple as
possible
It is easy to get "overwhelmed" with the cumulative
learning curves
Tools for Development (cont.)
• 4GL and Generator Tools
PlanetJ WOW (Web Object Wizard)
mrc, BCD, Magic Software
• Web Front Ends
WebSphere WebFacing
WebSphere Host Publisher
Screen Scrapers
Project Tips
• Architecture
Greatest importance to a project
Demands a heavy investment in time and skill
Architecture affects everything!
o Performance
o Scalability
o Flexibility
o Maintainability
Project Tips: Architecture (The UI)
• User Interface
Servlet/JSP (Web-based)
• Excellent portability and deployment characteristics
• UI not as robust as desktop applications
Java Application (JFC)
• Rich and powerful UI
• Client install and updates needed
Java Applets
• Rich UI but portability and performance issues
Project Tips: Architecture (Business Logic)
• Middle Tier (Business Logic)
EJB is a strategic technology
• Leading edge pains exist in short term
• Requires WebSphere Advanced ($)
• Handles DB I/O, transaction, remote calls
Custom Architecture
• Project specific classes created
• Need to deal with persistence yourself
• OO design skills are critical here
Project Tips: Architecture (Database Layer)
• Backend (Database)
EJB Container Managed Persistence
• EJB has support for generating JDBC
• Performance issues exist today
Custom JDBC
• Hand written by developers
• Can be difficult and nonproductive
• Not recommended for large projects
JDBC Generators (RDB - OO Mapping)
• VAJ Persistence Builder
• PlanetJ DataEngine (WOW), Top Link, and others
The 5 Key Points to Take Home
1. Many successful Java and WebSphere projects have
been completed. This is not smoke and mirrors
anymore.
2. Technologies involved are still maturing but are very
strategic.
3. It is important to consider:
Education/Skills
Tools
Architecture
4. Consulting and mentoring can help grow skills, produce
a solid infrastructure, and increase productivity
5. Start small, grow experiences before taking on larger
projects
Additional Resources
• www.planetjavainc.com
Free WOW download links
• The Server side
www.TheServerSide.com
Excellent insight into development issues
• WebSphere Studio Zone
http://www-106.ibm.com/developerworks/websphere/zones/studio/
• W3Schools (free learning tools)
www.w3schools.com
Your Turn!
Questions?
Contact Info
Paul Holm
PlanetJ Corporation
760-432-0600
[email protected]