Upload
kaycee
View
42
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
© 2005 PlanetJ Corporation. All rights reserved.
s
Getting Started in the World of WebSphere
Paul HolmPlanetJ 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
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 statusUsed trailer salesWarranty 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 (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 ServerWAS 4.0NAWTPASE
Solution Experiences (cont.)
• WebSphere issues Fix packs need to be installed with care 4.x Advanced administrator console
Performs slowNon-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 WebSphereV5R2 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
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
ArchitectureJava client/server "desktop" applicationComplex Java graphics on clientExtensive use of AS/400 RPG program via
ProgramCall feature of AS/400 Toolbox for JavaJDBC used for database I/O
Solution Experiences
Existing resources not viable Six-month trial using existing RPG staff
o Missing skills and experienceEarly JDK releases were often buggyJava 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
Results260,000 lines of JavaEight months to develop (three people)JMagic is generally available
o www.cybra.comNext releases are in planningVery successful project
o Won IBM Developer project awardo Sales have increased
Usage Summary
• Much of iSeries Web development focuses on: Building “Self-Service” Applications (90%)
Allow customers to view their account informationAllow 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 reportsInstant access to real time data
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
JavaServlet
ResourcesDB2 & 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 filesHTML tagsJavaServer Pages HTML tagsJava as a scripting language
• A JavaServer Pages file has the extension .jsp • Calls reusable components that reside on the server
JavaBeansservlets
browser
<html><userbean></html>
web page
compiled pageobject
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:
PerformanceProductivityStabilityMaintenance
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
NativeServlet
API
HTTP HTTP
JDBC ToolboxSockets, RMI,
IIOP, etc.
Application Servers
Planning a Java- or WebSphere-based Project?
Things to consider:Usage of JavaEducation/staffingToolsTechnical architecture
Many things to
consider...
When to Use Java
• Consider using Java for:Graphical User InterfacesBrowser-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 levelsUse highly experienced people for design and
mentoringUse novices for coding and testing
Experience is invaluableYou need to know what works and what doesn't
Existing/legacy skills are still valuableDatabase design and performance are crucialRPG/Cobol back-end code reused via Toolbox APIs
Tools for Development
• Integrated Development Environments WebSphere Studio (WDSC for iSeries)
Strategic direction for IDEsBased on Eclipse but is fee-basedExcellent integration with AS/400 (Java Toolbox)
Eclipse Eclipse is free and open sourcewww.eclipse.org
Other IDEsNETBEANS by Sun (www.netbeans.org)
Tools for Development (cont.)
• Design Tools Rational Rose
Use only if you have experience/skill with itCarries 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 skillArchitecture affects everything!
o Performanceo Scalabilityo Flexibilityo Maintainability
Project Tips: Architecture (The UI)
• User InterfaceServlet/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/SkillsToolsArchitecture
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