getting started in the s world of websphere; real world … [read... · 2007-05-22 · deployed to...

45
© 2005 PlanetJ Corporation. All rights reserved. s Getting Started in the World of WebSphere; Real World Case Studies Paul Holm PlanetJ Corporation [email protected]

Upload: lykhanh

Post on 14-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

© 2005 PlanetJ Corporation. All rights reserved.

s

Getting Started in the World of WebSphere; Real World Case Studies

Paul HolmPlanetJ [email protected]

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, WSAD 5

� 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 6.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 and 6.x are 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 signon and view their purchase orders from a backend 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 emailed 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 skill 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 is focused 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 which 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)� Provides an easy way to access server-side components from Web

pages by separating the presentation of dynamic content from thegeneration of that content.

• Enterprise JavaBeans (EJBs)� Combines server-side components with distributed object

technologies.

Browser

Internet/Network

HTTP Server

JavaServlet

ResourcesDB2 & RPG

1

2

3

Using Servlets on iSeries

High Level Perspective1 - 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 pageobject

Enterprise JavaBeans

• A Java specification from Sun Microsystems which 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:

� EJB 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 Wide Spread Use of EJBs

What is an Application Server?

• Emerging software for applications which:

� 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

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 (Servlet's and JSP's)

�Self service applications

• HTML not as robust as Java GUI's

• “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 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 backend code reused via Toolbox APIs

Tools for Development

Tools for Development

• Integrated Development Environments

� WebSphere Studio (WSDC 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 IDE's

�NETBEANS by Sun (www.netbeans.org)

Tools for Development (cont.)

• Design Tools

� Rational Rose

�Only use 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

�Generates HTML from DDS display files

� WebSphere Host Publisher

�Generates HTML on the FLY!

� Screen Scrapers

�Convert screens to HTML

Project Tips!

• Architecture

� Greatest importance to a project

�Demands a heavy investment in time and skill

�Architecture effects 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

• EJB adoption has been low

• Many experts do not recommend EJBs

• 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, Hibernate and others

The 5 Key Points to Take Home

1. Many successful Java and WebSphere projects have been completed. Companies are saving large amounts of money with SELF SERVICE applications!

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

[email protected]