Getting Started in the World of WebSphere

thingyvirginiaInternet and Web Development

Jul 30, 2012 (4 years and 10 months ago)

296 views

© 2005 PlanetJ Corporation. All rights reserved.

s

Getting Started in the
World of WebSphere

Paul Holm

PlanetJ Corporation

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


Programs that run stand
-
alone. These are "desktop" applications.



Applets


Dynamic and interactive programs that can run inside a Web page displayed by a
browser enabled for Java.


Servlets


Programs that run inside request/response
-
oriented servers, such as Java
-
enabled
Web servers, and extend them in some manner.



JavaServer Pages (JSPs)


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.


Browser

Internet/

Network

HTTP Server







Java

Servlet

Resources

DB2 & RPG



1

2

3

Using Servlets on iSeries


High
-
Level Perspective



1
-

Initiate servlet from Browser



2
-

Load servlet



3
-

Access resources

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


browser

<html>

<userbean>

</html>

web page

compiled
page

object

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



Web Server (IBM HTTP Server, Domino, Apache,
IIS,Java Web Server (Jeeves), and others)
ICAPI
Apache
ISAPI
NSAPI
WebSphere App Server
Servlets, EJBs
Native
Servlet
API
HTTP
HTTP
JDBC
Toolbox
Sockets, RMI,
IIOP, etc.
Application Servers


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


Technology

Months to Basic
Capabilities

Months to High
Productivity

Comments

Java Basics

1.5
-

3

6
-

12

Need to assign
appropriate work!

WebSphere Studio or
ECLIPSE

.5
-

2

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.

Education and Skills

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


Questions?

Your Turn!

Contact Info

Paul Holm

PlanetJ Corporation

760
-
432
-
0600

pholm@planetjavainc.com