course introduction ibm websphere web multi-platform ... · standalone programs that run in a jvm...

104
IBM WebSphere Web Multi-Platform Configuration Course Introduction IBM WebSphere Web Multi-Platform Configuration SW222 08/24/00 © Copyright IBM Corporation 2000 intro.prz 1 The following terms are trademarks of IBM Corporation in the United States or other countries or both. AIX IBM RS/6000 SecureWay WebSphere VisualAge Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and/or other countries. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States and/or other countries UNIX is a registered trademark in the United States and/or other countries licensed exclusively through X/Open Company Limited. VeriSign is a registered trademark of VeriSign, Inc. in the United States and/or other countries. Other company, product, and service names may be trademarks or service marks of others.

Upload: others

Post on 26-Oct-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

Course Introduction

IBM WebSphere Web Multi-Platform

ConfigurationSW222

08/24/00 © Copyright IBM Corporation 2000 intro.prz 1

The following terms are trademarks of IBM Corporation in the United States or other countries or both.

AIXIBMRS/6000SecureWayWebSphereVisualAge

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and/or other countries.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States and/or other countries

UNIX is a registered trademark in the United States and/or other countries licensed exclusively through X/Open Company Limited.

VeriSign is a registered trademark of VeriSign, Inc. in the United States and/or other countries.

Other company, product, and service names may be trademarks or service marks of others.

Page 2: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Course Description

WebSphere System Architect

Duration: 4.5 days

Purpose:This course exposes the system developer, architect or administrator to WebSphere-related multi-platform configuration and deployment concepts. These concepts are relevant to customer engagement scenarios and actual customer environments.

Hands-on lab exercises are provided throughout the course.

08/24/00 © Copyright IBM Corporation 2000 intro.prz 2

Page 3: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Course Objectives

At the end of this course, you should be able to:Understand system architecture concepts related to WebSphereInstall and configure WebSphere Application Server Advanced EditionUnderstand programming model issuesPackage and deploy applicationsSecure the application environmentApply workload managementTune WebSphere for better performance

08/24/00 © Copyright IBM Corporation 2000 intro.prz 3

Page 4: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Agenda (Day 1)

Introduction WebSphere Family OverviewEnterprise Java Services (EJS) ConceptsWebSphere Application Server ArchitectureWebSphere Application Server Installation

Install WebSphere on Solaris LabWebSphere Administrative ConceptsWebSphere Administrative ConsoleDeploying Applications with WebSphere

08/24/00 © Copyright IBM Corporation 2000 intro.prz 4

Page 5: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Agenda (Day 2)

Big 3 Sample ApplicationProgramming Model IssuesCode Packaging and Deployment

Code Packaging LabDeploying the Big3 Application Lab

Introduction to Security WebSphere Security

08/24/00 © Copyright IBM Corporation 2000 intro.prz 5

Page 6: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Agenda (Day 3)

Security (continued)Enabling WebSphere Security Lab Modifying Permissions LabWAS Basic Security Using SecureWay and LDAP LabEnabling SSL LabAccessing Secured Applications Lab

XML Configuration Management ToolXML Configuration Manager Tool Lab

08/24/00 © Copyright IBM Corporation 2000 intro.prz 6

Page 7: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Agenda (Day 4)

Workload ManagementServlet Clustering and EJB WLM LabConfiguring Network Dispatcher Lab

Firewalls/OSE RemoteConfiguring and Using Remote OSE Lab

08/24/00 © Copyright IBM Corporation 2000 intro.prz 7

Page 8: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Agenda (Day 5)

WebSphere Application Server PerformanceRound Table Discussion

08/24/00 © Copyright IBM Corporation 2000 intro.prz 8

Page 9: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Introductions

Instructor(s)

StudentsPlease introduce yourself

Name and organizationInternet knowledgeJava and Java "Enterprise" knowledgeIBM WebSphere Application Server knowledgeInternet/Web tools you use (or don't use)

08/24/00 © Copyright IBM Corporation 2000 intro.prz 9

Page 10: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Lab Exercises

Each team will have three machines that will be used during the labs:

Windows NTAIXSolaris

Two machines will be shared by the class:Solaris Oracle database serverAIX DB2 database server

08/24/00 © Copyright IBM Corporation 2000 intro.prz 10

Page 11: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Lab Information

For the lab exercises, <as_root> will be used to indicate the WebSphere Application Server installation directory.

Replace this with the full path where you installed the WAS server.

For example, in a standard install:NT is C:\WebSphere\AppServerSolaris is /opt/WebSphere/AppServerAIX is /usr/WebSphere/AppServer

Other installed programs will use the same convention.

08/24/00 © Copyright IBM Corporation 2000 intro.prz 11

NOTE: Screen shots in the and labs are intended to give a graphical representation of the object or process step. In some cases, the information on the screen may depict information from a different operating system than the one being used.

Page 12: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

Course Materials

08/24/00 © Copyright IBM Corporation 2000 intro.prz 12

Page 13: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Course Materials

You will find the following materials in your packet:

Lectures and Appendixes

Labs

08/24/00 © Copyright IBM Corporation 2000 intro.prz 13

Page 14: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IntroductionWebSphere Family OverviewEnterprise Java Services ConceptsWebSphere Application Server ArchitectureWebSphere Application Server InstallationWebSphere Administration ConceptsWebSphere Administrative Console

Course Materials--Lectures

08/24/00 © Copyright IBM Corporation 2000 intro.prz 14

Page 15: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Deploying Applications with WebSphereBig 3 Sample ApplicationProgramming Model IssuesCode Packaging and DeploymentSecurity IntroductionWebSphere SecurityXML Configuration Manager Tool

Course Materials--Lectures (continued)

08/24/00 © Copyright IBM Corporation 2000 intro.prz 15

Page 16: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Workload ManagementFirewalls/OSE RemoteWebSphere Application Server Performance

Course Materials--Lectures (continued)

08/24/00 © Copyright IBM Corporation 2000 intro.prz 16

Page 17: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Appendix A. ClasspathAppendix B. General UNIX HelpAppendix C. Programmatic Login ExamplesAppendix D. Transaction TermsAppendix E. Database HintsAppendix F. XML Package SummaryAppendix G. ConcurrencyAppendix H. Where to Find It GuideAppendix I. Features of WebSphere ServersAppendix J. Software Prerequisites

Course Materials--Appendixes

08/24/00 © Copyright IBM Corporation 2000 intro.prz 17

Page 18: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Installing WebSphere on Solaris LabCode Packaging LabDeploying the Big 3 Application LabEnabling WebSphere Security LabModifying Permissions LabWAS Basic Security Using SecureWay and LDAP LabEnabling SSL LabAccessing Secured Applications LabXML Configuration Manager Tool LabServlet Clustering and EJB WLM LabConfiguring IBM Network Dispatcher LabConfiguring and Using Remote OSE Lab

Course Materials--Labs

08/24/00 © Copyright IBM Corporation 2000 intro.prz 18

Page 19: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

WebSphere Family Overview

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 1

Page 20: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Objectives

After completing this unit, you should be able to:Describe the products in the WebSphere familyDescribe the features of different editions of WebSphere Application Server

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 2

Page 21: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Market Trends

Move business to InternetUse Internet as the deployment ground of new mission-critical applicationsExtend existing applications and enterprise data to the Internet

Exploit Web model on Intranets

Improve bottom line:Reduce time to marketCut costs and increase return

on investment

Interacting

Publishing

ManagingBusiness

Transacting

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 3

The web was originally seen as a vehicle for publishing static information, but it is transitioning to a way for businesses to interact with their customers and suppliers, and for businesses to conduct transactions with their customers. The goal (which we're still moving toward) is using the Internet as a tool to manage a business. It's more than just a technology, it's a way of doing business.The same sets of tools and approaches are also significant to bring services to the corporate Intranet and Extranet settings.The Web browser has become a common desktop for Application "delivery".

Page 22: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

The Web Application World

Content creation involves people from many disciplines

HTML Page authorsBusiness peopleSimple logic / script creationAdvanced code/backend integrationGraphic artist

Webmaster, producer, customer, legal, etc.. approve rapidly changing content

Content is staged at one or more servers and then published to customer's production or ISP server(s)

Dev Staging Production

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 4

Building, deploying, and managing web applications requires a diverse set of skills and tools.Content creation is done by the Web Development Team, graphic artist, HTML editors, and developers of core business logic, working together to make e-business solutions a reality. All of these diverse types of people use different tools: Java IDEs, text editors, graphic programs.A Production team ties all these content pieces together on a staging server for testing and revision en route to production.A Deployment and Management team, including a Webmaster, deploys and maintains the site in a "live" and available mode.Whether this process takes an hour, week or month, this is the process that is required to create today's web applications.A wide variety of runtime services are also required to deploy and manage a web site. Tools for managing user profile, session state, and load balancing are examples of services required to ensure the site performs adequately.

Page 23: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

e-business Tools and Their Users

Site Management ToolsLink CheckingSite MappingUsage AnalysisPerformance AnalysisBehavior Visualization

Runtime ServicesSession StateUser ProfileLoad BalancingData accessJava ClassesServlets and BeansDirectory, SecurityPersonalization Delivery Engine

Web Development ToolsMulti-author environmentHTML and Java toolsContent creation toolsPublishing to web serverLibrary systemsScripting

Web Application Server

Producer

Web DevelopmentTeam

DataCenter

Programmer

Programming ToolsJavaBean, Servlet, EJB, development toolsData and application access

Webmaster

DevelopmentServer

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 5

Roles include:Client / Content Provider: Provides the contents of the site.Project Manager: Defines the project and manages the team, communicates plan and any changes to team members, maintains client relationship.Information Architect: Designs the relationships between information.Multimedia artist: Creates other media content, e.g., audio, video, animation.Writer / Editor: Creates and edits content.Developer: Creates HTML, Java Servlets, and Enterprise Java Beans.System Architect: Architects the solution (this may be a separate technical lead).DBA: Database administrator. Creates the databases with constraints. Webmaster / site engineer: Runs the Web server, composes and publishes the site.Interface Designer: Designs the user interface and "look and feel".

Page 24: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphereTraining

Workshop for WebSphere Studio

Workshops for WebSphere Application Server (Standard and Advanced Editions)

WebSphere Application Server Administration

"Let the right expert do the work independently."

Page ProducerRoleRoleRoleRole

ConcernConcernConcernConcern

Application Assembler Bean Provider Web Master

Components Components Components Components ProducedProducedProducedProduced

Page Layout and Page Layout and Page Layout and Page Layout and Content (View)Content (View)Content (View)Content (View) Application Flow Application Flow Application Flow Application Flow

(Controller)(Controller)(Controller)(Controller)Business Logic (Model)Business Logic (Model)Business Logic (Model)Business Logic (Model)

Operational Environment Operational Environment Operational Environment Operational Environment (Application)(Application)(Application)(Application)

Java Server Pages, HTML, MIME types

HTTP Servlets, Java Applets, JavaBeans

Java Beans, Enterprise Java Beans

Configuration Data, Site Usage Statistics

Tools UsedTools UsedTools UsedTools Used WebSphereStudio

VA/Java VA/Java EEVA/GenVA/CDWSASEE

WebSphere Admin Tools, Site Analyzer

WebSphere Development and Roles

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 6

WebSphere promotes a MVC (Model View Controller) architecture. The View is the presentation of the information, the Model is the domain information that is provided and the Controller is the application logic that unites the two.The left-hand side indicates the tools used by the three roles identified in the WebSphere application development process. The right-hand side indicates the software used by the webmaster in an operational environment.There are IBM training courses and certification programs targeted at all roles. The Web Master/System Administrator role is concerned with the operational environment.

Page 25: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

A comprehensive open-standard software road map for e-business

Application Framework - principlesServer-centric applicationsManaged thin clientsScalable architecturesJava-based technologiesPlatform, Vendor independenceIndustry-standard components, services, interfaces

Application Framework for e-business

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 7

Middle-tier programming model is based on distributed object programming model (Java, JavaBeans, CORBA, and EJBs).The Application Framework for e-Business is not about modeling the enterprise. It's about connecting the enterprise to the wider world, and connecting the parts of the enterprise together. It's about building a programming model for new applications that are internet-enabled.Accommodating other technologies is also important to this framework including interacting with Microsoft-specific technologies like MTS, COM+, etc., as well as with new standards like XML.

Page 26: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Application Framework Software

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 8

Development Tools and Components:WebSphere Studio: Provides integrated tools and workbench for developers using IBM WebSphere. Wizards guide development of servlets and JavaBeans.VisualAge: Visual programming environment supports major languages, platforms and team development. Domino Designer: Visual development environment with built-in services like workflow, content management and full-text search. Lotus eSuite: A comprehensive set of Java-based business productivity applets and utilities. IBM SanFrancisco: A Java-based collection of components and frameworks that include hundreds of common business objects plus application-specific components for core business processes.

Application Servers and Integration Software:WebSphere Application Servers: Speeds transition from publishing to Web-based transactions for transaction-intensive environments and support for distributed business components. DB2 Universal Database: IBM's relational database server solution is fully integrated with web technology.Lotus Domino: Rapidly develop and deploy collaborative applications with advanced capabilities for managing work and information flow, and integration with database, ERP and transaction systems. IBM CICS: The information backbone for connecting transaction-intensive Web/Java applications with support for distributed business components.

Secure Network and Management Software:IBM SecureWay Family: Simplifies the challenge of locating, connecting and securing all the parties and resources involved in an e-business transaction or interaction.Tivoli: With Tivoli Global Enterprise Manager, you can graphically monitor, control, and configure applications residing in distributed environments.

Page 27: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Product FamilyBusiness Application Components

Build ManageRun

IBM HTTP Server, Netscape, IIS, Apache, Domino 5.0.2

WorkbenchWizardsContent AuthoringSite DevelopmentContent Management

Database Connection ManagerJava Servlet Run-time and services

EJB, Java Servlet Run-time and servicesClustering and ScalingCMP Entity EJBsDatabase Connection ManagerEJB Relationships

Distributed Business ComponentsTrans. processing environmentClustering and scalingHost connection managerDatabase Connection ManagerEJB, Java Servlet Run-time and servicesCORBA ORB

CachingLoad Balancing

Tivoli

Application ProgrammingComponent DevelopmentTeam Development

NT AIX HP-UX Solaris Linux NetWare OS/2 OS/400 OS/390

Commerce Suite and Payment Mgr

Content AnalysisUsage AnalysisReporting

WebSphere Studio

WebSphere Edge ServerVisualAge for JavaFiltering

Standard Edition

Advanced Edition

Enterprise Edition Site Analyzer

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 9

The WebSphere product family consists of multiple integrated applications to assist with building, running and managing complex Web sites.Build

WebSphere Studio provides a project based environment for managing complex Web sites consisting of static and dynamic content.VisualAge for Java provides a single-user or team environment for developing Java applications, servlets, Java Beans and Enterprise Java Beans.

RunWebSphere Application Server provides the infrastructure for deploying enterprise Web applications consisting of servlets, Java Server Pages (JSP) and Enterprise JavaBeans (EJB) with connections to databases and transactional systems.WebSphere Edge Server provides network dispatcher technology and a caching proxy server.IBM HTTP Server combines the popular Apache Web server with performance, security and manageability enhancements.WebSphere Commerce Suite and WebSphere Payment Manager provide the e-commerce business functionality and tools to create and manage standalone or hosted merchant sites.

ManageWebSphere Site Analyzer provides tools for analyzing Web site content and usage. Tivoli

Page 28: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Team based Web site development workbenchSite import, visualization and modificationLink managementPublishing to multiple targetsReportsVisual Page designerJava and database WizardsRemote debuggingVisualAge for Java

IDE integrationIntegration with tools and

version control systems

WebSphere Studio 3.5

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 10

WebSphere Studio is a suite of tools that help teams design, develop, and publish Web applications.Page designers, graphic artists, and programmers all work on the same projects with a common viewThe Web site is composed of independent parts, so it's easier to maintainParts are created and maintained by the appropriate people Any tools can plug in, so team members can work with their favoritesWeb development tools include:

Page Designer to visually create and edit HTML and JSP files Applet Designer - a visual authoring tool that makes it easy to build new Java applets WebArt Designer for creating masthead images, buttons, and other graphics for your page AnimatedGif Designer for assembling GIF animations

Wizards are provided to help you import a site into Studio and to create server-side Java programming logic for database access or JavaBeansIncludes an integrated Debugger to find JSP and Java code problems in real time Integration with popular source control management software like IBM VisualAge Team Connection, Rational ClearCase, Microsoft Source Safe, PVCS, and Lotus Domino

WebSphere Studio is designed to help you create applications for WebSphere Application Server, usingHTML and other web technologiesJava Servlets and Java Server Pages (JSP)Java BeansA limited function "Entry" version is available which has a limited number of manageable objects.

WebSphere Studio companion products include:VisualAge for Java, Professional EditionNetObjects ScriptBuilder - A text editor with syntax highlighting for common languages (e.g. HTML, JSP, Java, JavaScript, etc.)NetObjects Fusion- Prototypes web sites in a visual manner

Page 29: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

VisualAge for Java 3.5

Team based Integrated Development Environment (IDE) for Java developmentBuild, Test, and debug web applications (servlets, JSP, EJBs)Visual composition editorEnterprise Java Beans

development environmentWebSphere Test EnvironmentData accessEnterprise connectivity

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 11

VisualAge for Java is a team-based Integrated Development Environment (IDE) for creating enterprise Java applications and components such as applets, servlets, JavaBeans and Enterprise JavaBeans.

Features include:Visual composition editor which makes it easy to build graphical user interfacesWizards for developing Enterprise JavaBeansServlet builderWebSphere Test EnvironmentDatabase Access (SQLJ, DB2 Stored Procedures, Data Access Beans)Middleware connectivity (including CICS, Domino, Encina, Host on Demand, IMS, MQSeries, SAP R/3)Integrated debugger and distributed debugger

VisualAge for Java is available in two editions:Professional Edition provides the base Java IDE including the Visual composition editor.Enterprise Edition includes the functions of Professional Edition plus the team development functions, enterprise connectivity, EJB development and WebSphere Test Environment.

Page 30: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM HTTP Server 1.3.12

Based on Apache Web Server

IBM enhancementsAdministrator interface - avoid mistakes when editing configuration filesSSL support - provide secure sessions for e-commerceAdvanced Cache - speeds up serving static contentMachine Translation - dynamically translates HTML files to another languageLDAP support - support a common directory for user authentication and authorizationSNMP support - monitor HTTP server from a network management console

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 12

IBM HTTP Server V1.3.12 is a Web server based on the popular Apache server with additional IBM enhancements. It is available for Windows NT, AIX, Solaris and Linux.IBM enhancements include:

A browser based administrator interface is provided to make it easier to configure the Web server without editing configuration files directly.Support for the Secure Sockets Layer (SSL) protocol is provided to enable secure connections with clients. The IBM Global Security Kit (GSK) and Key Management Utility (IKEYMAN) are included to enable creation and management of SSL key files.The Fast Response Cache Accelerator (FRCA) provides an advanced kernel level cache for serving static Web content via an operating system kernel extension giving much better performance than other methods.Machine Translation allows English content on the Web server to be translated to other languages dynamically. The machine translation server is bundled with IBM HTTP Server.Lightweight Directory Access Protocol (LDAP) is an information directory where users and groups can be defined only once and shared across multiple machines and applications. The IBM HTTP Server LDAP plugin allows authentication and authorization to be performed by the directory.Simple Network Management Protocol (SNMP) is an Internet protocol for exchanging basic management information. The IBM HTTP Server SNMP plugin allows a managing system to monitor the HTTP server.

Page 31: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Application Server

Servlet/Bean/JSPServlet/Bean/JSP

Servlet/Bean/JSPServlet/Bean/JSP

Enterprise JavaBeanEnterprise JavaBean

DataDataAccessAccessBeanBean

Persistent Storage RDbPersistent Storage RDbPersistent Storage RDbPersistent Storage RDb

Enterprise JavaBeanEnterprise JavaBean

XML Parser / XML Parser / GeneratorGenerator

C/C++C/C++ApplsAppls

Enterprise JavaBeanEnterprise JavaBean

Enterprise JavaBeanEnterprise JavaBean

Servlet/Bean/JSPServlet/Bean/JSP

Servlet/Bean/JSPServlet/Bean/JSP

JavaJavaApplsAppls

WebSphere Application

Server

WebSphere Application

Server

Web Server 1

WebSphere Edge Server

Web Server n

...Relational Databases

Domino Servers

Legacy Systems

Other EJB Servers

Servlet/EJB Engines

Servlet/EJB Engines

HTTP

HTTP, IIOP

JNI

IIOP

RMI

Java Notes

JDBC

JDBC-XA/JTA

IIOP

JTS/JMS/JDBC/JNDI/LDAP/JITOC

Clients

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 13

WebSphere Application Server provides the "platform" for Web applications based on Java technologies such as servlets, Java Server Pages (JSP) and Enterprise JavaBeans (EJB).This diagram shows a number of possible relationships among the elements of a Web application deployed within a WebSphere Application Server "platform". Clients are HTTP clients, and java clients.Scaling and clustering support are provided by WebSphere Edge Server and the Application Server Workload management facilities.Middle-tier assets include Servlets, JavaBeans, JSPs, and Enterprise JavaBeans.Communication and coordination with backend systems use Java APIs, such as JDBC and JTS.

Page 32: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Application Server EditionsWebSphere Application Server Standard Edition

Supports Web applications using Java Servlets and JavaServer PagesDatabase connection poolingEasy to use administration tools

WebSphere Application Server Advanced EditionExtends Standard EditionEnterprise JavaBean SupportSupport for distributed transactions and transaction processingScalability, workload management, failover, and distribution to multiple machines

WebSphere Application Server Enterprise EditionExtends Advanced EditionIntegration with enterprise transactional applications and data

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 14

Page 33: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Standard Edition

Supports Information Serving based on Java Servlets

Features:Support for Web applications:

Java Servlets 2.1 runtimeJava Server Pages 0.91 and 1.0 runtimeJDBC database access with connection poolingJNDI naming servicesXML supportIntegrated security using LDAPHTTP Session and User Profile Support

Administration toolsJava based graphical administration interfaceDistributed debugging support

Works with all major web serversIBM HTTP Server, IIS, Netscape, Apache, Domino

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 15

WebSphere Application Server Standard Edition provides support for running non-transactional server side Java applications based on Java Servlets and Java Server Pages, incorporating database access, personalization and security.Standard Edition is appropriate for a single node site. However, it does support multiple Java Virtual Machines running on the same node. For a multi-node configuration WebSphere Application Server Standard Edition can be combined with WebSphere Edge Server.

Standard Edition V3.5 includes:IBM HTTP ServerWebSphere Site AnalyzerInstant DB, a Java-based, in memory datastore which is used for the configuration repository

Standard Edition is available on the following platforms:Windows NT, IBM AIX, Sun Solaris, Linux, Novell Netware, OS/400, OS/390, OS/2 WarpNot all platforms are available at version 3.5

Page 34: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Supports Standalone Transactional Systems

All features of Standard Edition plus:Scalable, highly-available transactional runtime

Clustering with multiple replicated nodesWorkload managementBuilt-in Object Request BrokerSupports DB2 6.1 transactional JDBC driver

Enterprise JavaBeans supportFull EJB 1.0 support, including container managed persistence, entity, and session beansEJB security

Integrates with DB2, Oracle, and Sybase databasesConfiguration repository

Advanced Edition

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 16

WebSphere Application Server Advanced Edition extends the capabilities of Standard Edition by providing Enterprise JavaBeans support, transaction services and clustering support.

Advanced Edition V3.5 includes:DB2 UDB which can be used for the configuration repository. Alternatively Oracle 8i can be used.SecureWay LDAP Directory Server to provide a directory service to manage security.

Advanced Edition is available on the following platforms:Windows NT, IBM AIX, OS/400, Linux, HP-UX, and Sun SolarisOther platforms will be supported in future.

Page 35: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Enterprise Edition

Supports Integrated Transactional Systems

All features of Standard and Advanced Editions plus:Distributed business componentsManaged object frameworkScaling and clusteringComponent Broker

Supports EJBs, C++, and Java CORBA Business ObjectsTXSeries

COBOL and CICS and Encina transactionsTransactional integrity with DB2, Oracle, IMS, CICS, and MQSeries

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 17

WebSphere Application Server Enterprise Edition provides support for building distributed, transactional applications that can tie together disparate non-Web business computing resources or integrate your Web and non-Web systems.Enterprise Edition provides the features of Advanced Edition plus the following product components:

Component Broker, which is an enterprise solution for distributed computing, providing a scalable, manageable run time for developing and deploying distributed component-based solutions. It is a complete and integrated implementation of the open standards contained in the Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA). In addition, Component Broker contains a separate implementation of the EJB Specification, which can be used with or instead of the implementation contained in the Advanced Edition.

TXSeries, which contains two popular middleware packages (CICS and Encina) that support and simplify the creation of transactional applications that can span multiple platforms in diverse and complex networks. In addition to offering cross-enterprise integration, TXSeries applications provide high levels of scalability, availability, integrity, longevity, and security.

IBM MQSeries: The IBM MQSeries range of products enables application programs to communicate in a nonserial, asynchronous manner by using messages and queues. At the heart of MQSeries is the Message Queue Interface (MQI), a high-level programming interface that enables applications to communicate transparently across various platforms. MQI takes care of network interfaces, assures delivery of messages, deals with communications protocols, and handles recovery from system problems.

Page 36: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Project based Web site analysis Uses DB2 database repository for scalabilityScheduler for data collection and analysis

Content Analyzer tool to help manage site deployment and site qualityWeb crawler robot queries topology of your Web siteProvides for site visualizationStructural Analysis - broken links, missing image files, ALT tags

Usage Analyzer tool to understand site traffic and visitor behaviorIntelligent Web log analysis including ability to identify specific dynamic applications and parameters for analysisCategorization to logically subset data into user-defined analysis groups

Comprehensive reporting including chartingProduces static HTML and dynamic XML reports utilizing a modular reporting structure

WebSphere Site Analyzer

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 18

WebSphere Site Analyzer provides a centralized workbench for analysis of Web sites. WebSphere Site Analyzer is included with all editions of WebSphere Application Server.

Two types of analysis are supported:

Content Analysis queries a live Web server using a Web crawler robot program. The returned pages are analyzed to detect missing information or broken links.

Usage Analysis queries the Web server logs to collate information about site traffic and visitors. Data is aggregated into visitor "sessions" and usage can be categorized for easier analysis.

Data collection and analysis can be scheduled to take place at predefined times when sites are less busy. The analysis data is stored in a DB2 database. This data can be aggregated for trend analysis.

Reports can be configured including tabular information and charts.

Page 37: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM Edge Server

Web Traffic ExpressCaching Web proxyPICS content filtering

Network DispatcherRequest router for clustered Web serversReduces errors by not routing to down or overloaded serversLoad balancing based on protocol "advisors"

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 19

Edge Server is geared for Internet Service Providers (ISP), whether they are in the ISP business or in the business of providing access to internal users of corporate information technology (IT). Edge Server is designed to help you provide Internet access and content hosting and includes the following components:

IBM Web Traffic Express, a caching proxy server with Platform for Internet Content Selection (PICS) filtering. Web Traffic Express provides highly scalable caching and filtering functions associated with receiving requests and serving URLs. With tunable caching capable of supporting high cache hit rates, the server can reduce bandwidth costs and provide more consistently rapid customer response times.

IBM Network Dispatcher, load-balancing software with high availability features. Network Dispatcher can dynamically monitor and balance requests to available HTTP Web servers and applications in real time. Load balancing allows heavily accessed Web sites to increase capacity by linking many individual servers to a single logical server.

Page 38: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Commerce Suite and Payment Manager

WebSphere Commerce SuiteTools and services to build business to consumer and business to business Web sitesExtensible server with business logic for merchant functionsMerchant data modelAdministration tools including Store CreatorCatalog ArchitectProduct AdvisorBackend integration

WebSphere Payment Manager 2.1Server for hosted or merchant based payment managementMulti-payment frameworkEasy to use interfaces for configuration and managing payments

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 20

WebSphere Commerce Suite (for Windows NT, AIX, OS/400, Solaris and OS/390) provides all of the tools and services needed to build scaleable, high function e-commerce Web sites for both business to consumer and business to business environments.The package includes a Web server, DB2 database and Payment Server. The WebSphere Commerce Suite functionality includes:

An extensible server providing the store flow business logicA comprehensive data model for merchant dataAn administration interface including store creation toolsCatalog Architect for defining product catalog dataProduct Advisor for producing intelligent catalog viewsSample storesBackend integration samples

Commerce Suite START (for Windows NT only) is an entry level version which does not include the Catalog Architect, Product Advisor or Backend integration functions.Commerce Integrator is an enhanced version of Commerce Suite that includes tools for integrating Commerce Suite with backend systems using MQseries Integrator.Commerce Suite Hosting Server is a solution for Commerce Service Providers which provides a fully functioning site for hosting multiple similar small merchants and includes additional store building and management functions.WebSphere Payment Manager 2.1 provides merchant payment transaction services, such as payment authorization, capture, credits and reversals which can be integrated with a merchant server (such as Commerce Suite) or hosted by an ISP. Multiple payment protocols (including the SET protocol) are supported by protocol specific payment cassettes. User interfaces are provided for server configuration and merchant payment management.

Page 39: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Information

Documentation provided with WebSphere Application Server:Getting Started GuideWriting Enterprise Beans in WebSphereDocumentation CenterAdministrative Console Help

WebSphere Web sitehttp://www.ibm.com/software/webservers/appserv

WebSphere Developer Domainhttp://www7.software.ibm.com:8080/wsdd/

IBM Redbooks http://www.redbooks.ibm.com

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 21

Page 40: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Summary

WebSphere family includes:Studio - Team based site developmentVisualAge for Java - Team based enterprise Java developmentHTTP Server - Apache Web server with IBM enhancementsApplication Server - Enterprise Java ServicesSite Analyzer - analyze site content and Web logsEdge Server - Proxy, DispatcherNet.Commerce and Payment Manager

WebSphere Application Server consists of:Standard Edition - Servlets, JSPs, XMLAdvanced Edition - SE + scalability, EJBs and transactionsEnterprise Edition - AE + enterprise transaction integration

08/24/00 © Copyright IBM Corporation 2000 WS Fam Overview.prz 22

Page 41: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

Enterprise Java Services Concepts

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 1

Page 42: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Key Issues

Separation of concerns and rolesUser Interface must be separated from Business LogicUse of thin clients and JavaServer Pages

Foster reuse of Enterprise Business ObjectsUse of Component Frameworks

Servlets and Enterprise JavaBeansEnterprise Component requires sophisticated framework

persistence, transaction, lifecycle, distribution, ...

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 2

Page 43: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Separating Presentation and Content

Business Objects(Model)

Servlets(Interaction Controllers)

Input Page(View)

Display Page(View)

Display Page JSP (view "engine")

12

3

4

5View

Server

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 3

This corresponds to specific pieces of the Application Framework for e-Business :The Model is represented by JavaBeans and Enterprise JavaBeans. It is implemented with Java code that may use IBM's enterprise connectorsThe View is implemented using JavaServer Pages (JSPs)The Control logic is implemented as Java Servlets

Each layer may be implemented by different people, giving a better separation of roles. There are consistent interfaces between the layers.WebSphere promotes thin clients. In the most common scenario, all of the code and logic resides on the server -- only a standard web browser is needed to communicate with the server via HTTP and HTML.

Page 44: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Application Framework for e-business Scenario

3rd-tier Server

DB Server

Web Application Server Servlet Runtime

EJB Interfaces,Connectors

Loan Payment Servlet

2nd-tier Web Server

Payment Result Bean

Loan Payment Result JSP

View

1

2

45

6

Atomic Bank and Trust Inc.

Today's NewsAtomic Bank Announces Fourth Quarter Results

[ Home | Search | Products | Copyright | Trademarks ]

Here at Atomic Enterprises we are inventing tomorrow yesterday, but we can't ever figure out what time it is now....

Loan ID 8680040Account 1234-50-1278Amount 102.52Principle 27.60Interest 74.92submitsave

Atomic Bank and Trust Inc.

Loan ID 8680040Account 1234-50-1278Amount 102.52Principle 27.60Interest 74.92.Payment Confirmed: Balance is

$1234.82

ModelController

7

3

1st-tier Web Browser

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 4

This diagram shows the most common scenario for WebSphere using JSPs as the view, servlets as the control layer, and EJBs or other logic as the model layer. The steps are as follows:

1 - Submission of request to web server from an HTML form through HTTP2 - Request for service through connectors or EJB interface from servlet to service provider3 - Communication from connectors to EJB servers or external servers4 - Servlet receives or creates a result bean with the results from the previous processing5 - JSP call page to connect the bean to the presentation logic in the JSP6 - The JSP page will access the results and integrate that information with the presentation7 - The information is provided (through HTML and HTTP) back to the user

This diagram also illustrates the three-tier architecture:The first tier is the user's machine, providing the visual interface to the application. The interface is often a Web browser. The second tier machine contains the business logic of the application, which often runs in conjunction with a Web server, such as the IBM HTTP Server. The third tier machine runs the data server, which manages the data that is used by the application. Examples are Databases, CICS or Encina transaction servers, MQSeries, IMS, SAP, EJB Servers, CORBA ORBs, Lotus Notes

WebSphere Application Server usually runs in conjunction with a Web server on the second tier machine, and the data server runs on the third tier machine.

Page 45: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Java

Object-oriented language similar to C++ and SmallTalkIncludes multi-threading, networking and windowing

Java source is compiled to machine independent bytecodesBytecodes are interpreted at run-time by Java Virtual Machine (JVM)Faster than interpreted scripting languages but not as fast as programs compiled to native machine instructions

Just-In-Time (JIT) compilers are used to improve performance

Java Development Kit (JDK) and Java Runtime Environment (JRE) include the Java software (JVM, compiler, libraries) for developing and running Java applications

Integrated Development Environments (IDE) such as VisualAge for Java provide sophisticated tools for developing and debugging Java programs

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 5

Java is an object-oriented programming language, created by Sun Microsystems, which has a programming structure similar to C++ and SmallTalk. Java is rich in functionality and includes many services (such as multi-threading, networking and graphical user interface support) in the base language rather than requiring separate libraries to be added later by vendors or standards bodies.One significant difference between Java and other languages is that the source and compiled code are machine independent. When a Java program is compiled, it is compiled to bytecodes which are machine independent.The bytecodes are interpreted by a Java Virtual Machine (JVM) which provides all of the run-time services and interfaces needed by the java program including mutli-threading. Java Virtual Machines are available for a large number of operating systems, machine types and embedded systems. This gives Java a significant performance and portability advantage over scripting languages, although Java performance is not as good as programs compiled for a specific machine architecture. Many JVMs include a Just-In-Time compiler which compiles the bytecodes to native machine instructions as the program is loaded which preserves the portability of Java programs and achieves performance much closer to native compiled programs.To develop or run Java programs you need one of:

Java Development Kit (JDK) - this includes the Java compiler, Java virtual machine, class libraries and debugging tools with programming samples.Java Run-time Environment (JRE) - this includes the Java virtual machine and class libraries.

Integrated Development Environments (IDE) such as IBM VisualAge for Java provide a graphical user interface for development and debugging, visual builder tools, project and version management. They include the JDK plus many standard and vendor specific extensions.

Page 46: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Java Programs

ApplicationsStandalone programs that run in a JVM

AppletsClient-side code that runs in a Web browser

ServletsServer-side code that runs in a Web server

JavaBeansReusable components that can be manipulated programmatically

Enterprise JavaBeans (EJB)Reusable components for building distributed applications

Java Server Pages (JSP)Web pages with server-side scripting using Java

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 6

Java can be used to develop standalone applications which need no other software (apart from the Java Virtual Machine) to run. Many products in the WebSphere family are standalone java applications.Applets are small graphical oriented java programs that run inside an area of a Web browser window. Originally applets were used for impressive graphics or sophisticated user input, but they have also been used for complex client programs. A disadvantage of applets is that they usually need to be downloaded from a server which means they must be kept very small to minimize download time.Servlets are server-side Java programs that use the Java Servlet Application Programming Interface (API) and its associated classes and methods. Similar to the way applets run on a browser and extend the browser's capabilities, servlets run on a Java-enabled Web server, such as the WebSphere Application Server, and extend the server's capabilities. When a browser sends a request to the server, the server can send the request information to a servlet and have the servlet construct the response that is sent back to the browser.JavaBeans are Java programs that follow the JavaBean specification from Sun Microsystems. By design, they are reusable components that can be called from other Java programs. To accomplish this, JavaBeans have standard ways of implementing their properties, methods and events, so they can be examined and manipulated programmatically. JavaBeans often come with associated files, such as a BeanInfo file, which provide descriptive information to make this examination easier. These additional files are useful if the bean deviates from the standards or overrides the standards.Enterprise JavaBeans are Java components for building distributed applications. Like JavaBeans they can be manipulated programmatically and combined to build applications, but EJBs can be deployed in a client/server environment without the programmer needing to code implementation specific functionality.Java Server Pages are HTML documents with imbedded tags and Java Code. At runtime, the JSP Page is compiled into a Java Servlet and executed. When used with JavaBeans, JSPs can be built using standard Web authoring tools without the author needing to be an experienced programmer.

Page 47: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Java Program Packaging

Java source (.java) files are compiled to .class filesRelated Java classes are grouped into Packages

Package names have a standard naming conventionExamples:

java.io, javax.servlet, big3.ejb

Classes and their resources are often distributed in JAR or ZIP filesUse jar utility in JRE/JDK to manipulate JAR files

The JVM classloader uses its classpath to locate classesFor classes in JAR files, the JAR filename must be in the classpathFor classes not in a JAR file, the class should be in a directory structure that matches the package name and the parent directory must be in the classpath

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 7

Each Java source (.java) file contains a single class and when it is compiled by the Java compiler (javac) the result is stored as a .class file with the same name as the class.Multiple Java classes which provide related functionality are usually grouped together into packages. Package names follow a dotted naming convention (similar to Internet domain names but written in the opposite order). For example, a package from IBM will begin com.ibm.When packages are stored in a file system, the directory structure must match the package name, so for example, class com.ibm.ejs.client.EJClient would have a relative pathname of com/ibm/ejs/client/EJClient.class.Many hundreds of class files may make up a complex application so classes are bundled together in JAR or ZIP files. These files can contain classes from multiple packages, plus additional properties and resources (such as GIF files) that may be needed at run-time. A manifest is stored in the JAR file to help the class loader locate resources.When a JVM needs to use a class, its class loader searches the JVM classpath (which is passed to the JVM as an environment variable or command line parameter). The classpath should contain JAR files or directories under which classes can be found.

Page 48: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

What is a Java Server Page?HTML document

Embedded JSP specific tagsInline Java Code

Can separate Presentation from Content when used with Java components such as Servlets and EJBs

Can be built by Web page editorWebSphere Studio Page Designer

On the server, JSP Page is parsed and compiled into a Java Servlet

Java Server Page

Page Compilation

Servlet

Atomic Bank and Trust Inc.

Today's NewsAtomic Bank Announces Fourth Quarter Results

[ Home | Search | Products | Copyright | Trademarks ]

Here at Atomic Enterprises we are inventing tomorrow yesterday, but we can't ever figure out what time it is now....

Loan ID 8680040Account 1234-50-1278Amount 102.52Principle 27.60Interest 74.92

submitsave

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 8

JSP enables server side scripting using Java. Server-side scripting is not an alternative to client-side scripting. Client-side scripting (JavaScript or Java Applet) is important for performing input validity tests and other computation eliminating interaction with the server.A JSP Page is an HTML document with special embedded tags and inline Java Code. At runtime, the JSP Page is parsed and compiled into a Java Servlet.JSP Pages enable you to effectively separate the HTML coding from the business logic in your Web pages.JSP Pages can be built using a Web page editor.JSP provides a simpler mechanism to create dynamic content than coding a servlet.This parsing, code generation, compilation need only be performed once (if .jsp file does not change). The loading and execution is a separate step which follows normal Servlet loading and execution rules.If the "JSP Servlet" is currently loaded, and a request for the JSP page is made, the JSP Servlet's service method is invoked.If the JSP Servlet exists (.class file) but is not yet loaded -- it is loaded and then its service method is invoked.

Page 49: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Why Servlets and JSPs?

Common Gateway Interface (CGI)For each request Web Server starts a new processCGI program runs and returns a HTTP responseDoes not scale well

Web server APIsCode runs in Web server processDifficult to port to multiple Web servers or platformsIf API code has bug, could crash Web server

Java servletsWeb server forwards requests to a JVM running in-process or out-of-processServlet is Java code that handles request

Java Server Pages (JSP)HTML and inline Java codeJSP is converted to servlet at run time

Web ServerCGI

Program

Web Server JVM

Web ServerAPI Module

Servlet

Web Server JVM

ServletJSP compile

CGI Program

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 9

The original approach to providing dynamic content from Web servers was the Common Gateway Interface (CGI). A CGI request spawns a new process and passes the HTTP request to the new process as environment variables. The process generates and returns the HTTP response. CGI is expensive in terms of processing resources and can be slow. Often CGI is used with interpreted scripting languages which is even slower.Most Web servers also provide APIs which allow you to write server extensions. These APIs are not common across Web servers which make them unportable and you must usually code in C or C++ which requires more skill on behalf of the Web programmer and may be more prone to errors.Sun Microsystems released the Java Servlet API which specifies how a Web server can run a Java program and pass it the HTTP request information and return the HTTP response. A JVM runs with the Web Server to provide support for running servlets. There are similarities to the CGI interface, but the JVM can be running all of the time (which saves expensive spawning of processes) and Java executes much faster and is more powerful than scripting languages.The disadvantage of servlets is that they must be written by Java programmers so the Web page designers do not have control of the pages generated using dynamic content. The solution is Java Server Pages which can be built with Web Page editors and can include Java code or special tags to use Java components such as JavaBeans. At runtime, a JSP is converted to a servlet and compiled, so its performance is the same as a servlet without significant programming skills.

Page 50: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Sessions

HTTP is a stateless protocol: Each page is a new sessionFor a multi-stage interaction, you need to keep a state or context

For example, shoppingCookies can be used to save information in the browser which is sent to the server in each requestIn multi-node Web sites, the node that creates the session context may not be the node that gets the next request

Session clustering - session information is shared by all serversSession affinity - all requests belonging to a specific session go to the same server

Persistent sessionsSession information is stored for use over multiple sessionsEnables personalization

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 10

The HTTP protocol is stateless. No information is contained in a request that relates it to any other request. Even though HTTP is a connection- oriented protocol, the duration of a connection is as long as it takes to complete a single request. Multiple requests are performed in multiple connections.In order to track sequences of activity by an identified user, you need some information sent to the server with each request which identifies (and authenticates) that user. Cookies can be used for this purpose.The Java Servlet API includes support for creating and using sessions.To support multi-node configurations you need a technique to ensure that the node that handles a request is aware of the session state or context. This can be achieved using:

session affinity - requests are always forwarded to the same node. session clustering - all nodes share session information.

If session information is stored in a database, you can save user preferences and other information to personalize the experience for the user.

Page 51: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Enterprise JavaBeans

Java components for building distributed object applications

Business objectsEither a long-lasting entity like a bank accountOr a short-lasting session like a "visit" to the bank

Exist within an EJB Container, running on an Enterprise Java Server

Features such as transaction management and security are determined at deployment

Accessible remotely or locally

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 11

The Enterprise JavaBeans (EJB) standard is a server side Java based component architecture for building multi-tier, distributed object applications. Components are pre-developed application code used to assemble applications.EJBs have the same programming model as the client side JavaBeans programming model which makes it easy for Java programmers to use EJBs to build applications.There are two type of enterprise beans:

An entity bean encapsulates permanent data, which is stored in a data source such as a database or a file system, and associated methods to manipulate that data. In most cases, an entity bean must be accessed in some transactional manner. Instances of an entity bean are unique and they can be accessed by multiple users.

For example, the information about a bank account can be encapsulated in an entity bean. An account entity bean might contain an account ID, an account type (checking or savings), and a balance variable and methods to manipulate these variables.

A session bean encapsulates nonpermanent data associated with a particular EJB client. Unlike the data in an entity bean, the data in a session bean is not stored in a permanent data source, and no harm is caused if this data is lost. However, a session bean can update data in an underlying database, usually by accessing an entity bean. A session bean can also participate in a transaction.

For example, the task associated with transferring funds between two bank accounts can be encapsulated in a session bean. Such a transfer session bean can find two instances of an account entity bean (by using the account IDs), and then subtract a specified amount from one account and add the same amount to the other account.

Page 52: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Types of EJBs

Session Beans

single clientshort lived

do not survive crash

Entity Beans

multiple clientslong-lived

survive a crash

Stateless Session

High Performance & re-usableSingle stage transaction management

Bean-Managed PersistenceEntity (BMP)

Contain code to store and retrieve data

Stateful Session

Multi-stage transaction management

Container-Managed Persistence Entity (CMP)

Rely on EJS Container to store and retrieve data

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 12

Session beans can either be Stateless - useful for simple transactions where all information to complete the transaction is present at the same timeStateful - multiple stages are required to perform the transaction

Entity beans can either use Bean Managed Persistence (BMP) - the programmer controls data accessContainer Managed Persistence (CMP) - The EJS container handles all aspects of data access leaving the programmer to concentrate on business logic

Page 53: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

How do EJBs work?

An example for a Session Bean

1. Client uses JNDI to find EJB Home2. Client uses EJB Home create method to create a session EJB.3. The local EJB Home tells the container to create a remote EJB component.4. The container returns the EJB Object stub to the client.5. The client then calls local methods on the EJB Object, which are forwarded to the remote EJB.

EJB Home

EJB Object

Enterprise Bean

EJB Home Stub

EJB Object Stub

remoteclient

container

EJB server's JVM

client's JVM

IIOP

JNDI

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 13

The components of an EJB environment are:Client - This is a Java program (for example, a servlet) which wishes to use an EJB.EJB Server - This is the execution system that provides a standard set of services to support enterprise bean components. Services include:

Access to a distributed transaction management serviceActivation/deactivation servicesLoad balancing and failover supportEJB Container - This is the runtime for all EJBs. It provides the following services:Remote access/network interoperabilityTransaction managementAuthentication and authorizationResource poolingConcurrent service for multiple clientsThread and process managementClustering and high availability

The EJB environment uses the Java Naming and Directory Interface (JNDI). In WebSphere Application Server Advanced Edition, its JNDI implementation is an interface to the CORBA Naming Service.EJB Home - The Container implements a Home for each bean deployed in the container and makes the Home available to a client via JNDI. Clients use the Home interface to create and remove EJB objects.EJB Object - This provides the external representation of the EJB. It exposes all application-related interfaces for the object but not interfaces that allow container to manage and control the object. It is generated by the container at deployment.

Page 54: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Java Database Connectivity (JDBC)

JDBC provides vendor-independent database connectivityJDBC 1.0 provides basic SQL access servicesJDBC 2.0 provides useful extensions but requires Java 2IBM made JDBC 2.0 extensions available in WebSphere 3.5

Connection PoolingData SourcesTransactional Capabilities

DatabaseApplicationJDBC Driver

DriverManager

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 14

Java Database Connectivity (JDBC) provides a generic way to query and update relational tables and translate the results into Java datatypes.JDBC 1.0 uses two main components:

JDBC DriverJDBC Driver Manager

The JDBC 2.0 specification comes in two pieces, the core functionality and a set of standard extensions. The extension package provides capabilities beyond the basic SQL mechanisms. This package contains classes to do things like connection management and pooling. It also provides an XA interface that allows the database to participate in distributed transactions.Sun defines four types of JDBC drivers

Type 1: the JDBC-ODBC bridge - Slowest, most portable, requires client software Type 2: native-API partly-Java driver - Usually fastest, least portable, requires client softwareType 3: net-protocol all-Java - Requires no client software, internet-capableType 4: native-protocol all-Java - Requires no client software, suitable for intranets

IBM made some JDBC 2.0 extensions available in WebSphere 3.0x

Page 55: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

CORBA

CORBA is a standard for object-oriented programs to interactIt is defined by the Object Management Group - www.omg.org

IBM is a memberIt is based around the concept of an Object Request Broker (ORB)

Service that allows programs to access CORBA code across a network

CORBA Name serviceDirectory service that allows CORBA objects to be located

IIOP (Internet Inter-ORB Protocol)Enables ORBs to communicate with each other

IBM provides RMI/IIOP that allows communication between Java components and CORBA components

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 15

Common Object Request Broker Architecture (CORBA) is a standard for object-based communication. It is from the Object Management Group (OMG), an industry organization promoting common standards for object oriented programming.The heart of the CORBA standard is the Object Request Broker (ORB). This provides an "object bus" which allows objects to be distributed across multiple systems and enabled programs to access objects across a network. Objects are located using a directory service provided by the ORB.The Internet Inter-ORB Protocol (IIOP) is used to enable communication with ORBs.Remote Method Invocation (RMI) is the Java-only way of distributing logic across systems. It allows client-server Java code to be developed easily because it requires few code changes.RMI communication is performed over the Java Remote Method Protocol (JRMP)IBM has developed RMI/IIOP which uses the RMI programming method, with the IIOP wire-protocol. For Java-Java this overcomes problems of JRMP, such as multiple sockets for multiple objects, but it also allows Java-C++, Java-SmallTalk, etc.With RMI/IIOP, you can create servers that can accept generic IIOP requests and clients that talk IIOP to existing servers.

Page 56: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

XMLXML allows you to define tag languages for making up the structure and meaning of data

Subset of SGML standardXML content is not intended to be created by humansXML can be used to standardize and markup the structure of data to facilitate exchange of data between applicationsSeparates content from presentation

XML is NOT HTMLHTML is a tag language that marks up document content for presentationHTML documents rarely have a structure that can be programmatically understood

XSLDefines style sheets to control formatting of XML content for a specific device (e.g. XML->HTML, XML->WML)

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 16

Extensible Markup Language (XML) is a simpler form of the Standard Generalized Markup Language (SGML) which has been used in publishing and other disciplines to create standards for structured documents. Like SGML, XML is a specification with which you define a tag language for marking up the structured content. XML is not the same as HTML. HTML is a markup language which specifies the layout and appearance of a Web page. HTML was defined using SGML but its syntax does not conform to the stricter rules of XML.HTML is the right tool for

Static content with text and graphicsNavigation by conventional surfing

XML is the right tool forDynamic content with personalization and transactionsNavigation by enhanced search engines and intelligent agents

XML is combined with other standards such as Extensible Stylesheet Language (XSL) which allows you to define the presentation of an XML document when it is output to some kind of display device.XML can be used in any application which needs to store structured information in external files or exchange it with other programs.An XML parser can be easily included in any program to enable loading of XML formatted data into objects which can be used in the program.WebSphere Application Server provides XML Document Structure Services.XML is also used for storing properties of some WebSphere components.

Page 57: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Lightweight Third-Party Authentication

Allows a user's identity to be passed around the distributed network

EnterpriseEnterpriseJavaBeansJavaBeans

ServerServer

WebSphere Application

Server

Stored User Information

EnterpriseEnterpriseJavaBeansJavaBeans

ServerServer

1. Request

2. Challenge User for Authentication

3. User Authenticates

7. Create authToken cookie; serve the request

Security Server that contains the Authentication Token Server

4. Authenticate (authenticationData)

6. Issue Authentication Token 5. Verify userid/password using LDAP user registry

9. Pass Token over Secure Association

8. Pass User Credentials (token) to EJS when invoking

methods on EJBs

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 17

Lightweight Third-Party Authentication (LTPA) can be enabled for security authentication in WebSphere Application Server. This protocol uses "tokens" to share authentication information between components so that the user is not challenged multiple times.An LDAP directory service is used to provide the user registry. IBM SecureWay Directory is included with WebSphere Application Server Advanced Edition. Other LDAP directories are also supported.

Page 58: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

LDAP

Lightweight Directory Access Protocol (LDAP)Internet version of X.500 infrastructureBased on TCP/IP

Can be used to access any directory in X.500 format

WebSphere Application Server supportsIBM SecureWay DirectoryDomino 4.6, 5.0Netscape Directory ServerNovell Directory ServerActive DirectoryCustom

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 18

The OSI X.500 standard defines a global directory infrastructure which can be used for storing and retrieving all kinds of information about "entities". Entities could represent organizations, departments, people, computers, and so on.Lightweight Directory Access Protocol (LDAP) Version 3 (defined by IETF RFC 2251) defines how the X.500 directory standards are used in the Internet environment. LDAP is a TCP/IP protocol, but the standard also defines other aspects of LDAP implementation such as:

a schemaUTF-8 encodingsecurity

LDAP servers such as IBM SecureWay Directory 3.1 implement the LDAP protocol and provide services such as

SSL securityreplicationaccess controlweb-based server administration GUI

It is possible to access an LDAP server from a Java application using JNDI.

Page 59: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Summary

Three tier application architecturesModel - View - Controller designSeparate presentation from content

Java and Enterprise Java ServicesServlets and JSPsEnterprise Java BeansJDBCTransactions

Security standardsLTPALDAP

08/24/00 © Copyright IBM Corporation 2000 EJS Concepts.PRZ 19

Page 60: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

WebSphere Application Server

Architecture

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 1

Page 61: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Objectives

After completing this unit, you should be able to:

Describe the components of WebSphere Application Server Advanced Edition

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 2

Page 62: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Application Server

Servlet/Bean/JSPServlet/Bean/JSP

Servlet/Bean/JSPServlet/Bean/JSP

Enterprise JavaBeanEnterprise JavaBean

DataDataAccessAccessBeanBean

Persistent Storage RDbPersistent Storage RDbPersistent Storage RDbPersistent Storage RDb

Enterprise JavaBeanEnterprise JavaBean

XML Parser / XML Parser / GeneratorGenerator

C/C++C/C++ApplsAppls

Enterprise JavaBeanEnterprise JavaBean

Enterprise JavaBeanEnterprise JavaBean

Servlet/Bean/JSPServlet/Bean/JSP

Servlet/Bean/JSPServlet/Bean/JSP

JavaJavaApplsAppls

WebSphere Application

Server

WebSphere Application

Server

Web Server 1

WebSphere Edge Server

Web Server n

...Relational Databases

Domino Servers

Legacy Systems

Other EJB Servers

Servlet/EJB Engines

Servlet/EJB Engines

HTTP

HTTP, IIOP

JNI

IIOP

RMI

Java Notes

JDBC

JDBC-XA/JTA

IIOP

JTS/JMS/JDBC/JNDI/LDAP/JITOC

Clients

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 3

WebSphere Application Server provides the "platform" for Web applications based on Java technologies such as servlets, Java Server Pages (JSP) and Enterprise JavaBeans (EJB).This diagram shows a number of possible relationships among the elements of a Web application deployed within a WebSphere Application Server "platform". Clients are HTTP clients, and java clients.Scaling and clustering support are provided by WebSphere Edge Server and the Application Server Workload management facilities.Middle-tier assets include Servlets, JavaBeans, JSPs, and Enterprise JavaBeans.Communication and coordination with backend systems use Java APIs, such as JDBC and JTS.

Page 63: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

AdministrativeRepository

Client Platforms

Web Server

Application Server(s)

Application Server(s)

Application Servers

IIOPAdminServer

AdminServer

JDB

C, M

Q,

CIC

S, IIOP

JDB

C, M

Q,

CIC

S, IIOP

IIOP

HTTP

Node 1 Node 2

Plug-in

OSE

3rd Tier Platforms

Web Browser Web Browser + Applet

Application

ApplicationDatabase

3-Tier Architecture

Remote OSE

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 4

This diagram shows the Application Server Advanced Edition architecture model:The web server plug-in communicates with local and remote Application Server servers via the Open Servlet Engine (OSE) protocol.WebSphere can be configured with a number of application servers per node (host). These are all started and "watched" by a local Administrative Server process.Managed servers can be configured to serve Servlets/JSPs, EJBs, or both.The Admin Server also is home to the security service and the administrative domain's name service.All configuration data is managed within a database instance: DB2, Oracle, or Sybase.

Page 64: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Web Server Plug-inWeb server plug-in provides connection between Web server and local application servers

OSE protocol can be configured to use Local Pipes, INET Sockets or Java TCP/IP

Plug-ins exist for:IBM HTTP ServerApache ServerMicrosoft IIS (NT only)iPlanet Web Server, Enterprise EditionNetscape Enterprise ServersLotus Domino Enterprise Server (V5.0.2B, 5.05)

Web Server WebSphere Plug-in

Application Server

OSE

API

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 5

The plug-in communicates with a local server via a proprietary protocol known as Open Servlet Engine (OSE). This protocol can use Local Pipes, INET Sockets or Java TCP/IP to connect to the local server.The local server may be the servlet engine of an application server which handles Servlets/JSPs, EJBs, or both.

Page 65: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Provides administrative servicesImplemented as EJBsTransactional updates to configurationAccessed from admin console

Provides security service

Provides JNDI naming service

Administrative Server

Admin Server

nanny process

Security Service

Naming Service

Port 9000Port 900

Admin Console Admin

Repository

Bootstrap Server

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 6

The Administrative Server provides the services that are used to control resources and to perform tasks on the repository.Server control functions include:Server start/stopServer monitoring and restart on failurePersistent admin state is kept (via EJBs) in a relational database. This ensures transactional updates to the admin configuration. BMP entity beans for configuration stateSession beans for tasks that act on BMP entity beansThe Administrative Server also provides shared services for: Transaction Monitor capabilitiesJNDI Naming ServiceSecurity serviceApplications need a consistent, distributed name service. This logically centralized JNDI namespace is kept locally by the Administrative Server. The JNDI Naming Service is a persistent naming service provided through the CORBA CosNaming API implemented as EJBs.The security server (which handles authentication and authorization) is contained within each Administrative Server.The Bootstrap Server is needed by the CosNaming service which listens (by default) on port 900. The service the Administrative Console connects to Port 900. .The Location Service Daemon (LSD) is needed for persistent object references. It uses its own ORB instance. It listens (by default) on port 9000The nanny process is a watchdog process whose job it is to keep the Administrative Server alive.

Page 66: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Admin Console

Standalone java client applicationCan be installed separately or downloaded to clients

Wizards for common tasksConfigurationSecurity

Resource Analyzer toolManaging resources

ConfigureStart/StopTracing

EJB deploymentResource discovery

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 7

The Administrative Console is a standalone Java application providing a graphical user interface for monitoring and configuring WebSphere administrative resources. The console can be installed (from the product CD or by download from a server) on any machine which meets the minimum requirements. The Administrative Console only manages resources in the WebSphere administrative domain, it does not manage any Web Server resources.JDBC and Data Source support allows you to define JDBC Drivers, install them onto nodes in your cluster and create JDBC Data Sources that use JDBC Drivers.The word deploy has a specific meaning in the EJB paradigm. With Enterprise JavaBeans, deploy means telling the container to generate the code it needs to supply the services the bean needs. The code the application programmer writes is portable. But to run a bean in a specific server and container, additional code must be created. This code is generated in the deployment step. Thus, you deploy a bean to a server and container. You can think of it as installing the bean into the environment.For EJB deployment, you can create EJB containers and specify bean caching and data source settings. The jetace tool is included to create deployment descriptors for EJBs and you can deploy EJBs when configuring them. A JAR file browser allows you to locate EJBs in JAR files. You can remotely browse file systems on remote machines.You also need to manage the files for the site content. To do this you should consider using a shared file system such as AFS.

Page 67: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Application Server

JVM providing Enterprise Java ServicesMultiple Application Servers supported per node

EJB ContainersSupport EJB caching and passivationData source for Entity beans

Servlet EngineReceives servlet requests from the Web server plug-inSupports multiple servlet groups (Web applications)Supports Web application reloading

Clustering and Workload management (WLM)RMI/IIOP ORBTransaction managementDatabase connection pooling

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 8

An Application Server process is a JVM which provides the necessary services for running servlets and Enterprise JavaBeans.The two main functions of an Application Server that can be managed using the Admin Console are:1. EJB Container - supports deployment of EJBs, EJB caching and passivation and managing EJB data

sources.2. Servlet Engine - supports multiple servlet groups (Web applications) consisting of related servlets that

have a shared context and can be reloaded together.Clustering support is provided such that a model (template) can be created of an Application Server and multiple identical clones can be created and managed together. Workload Management of servlets is performed by the Web server plug-in and Workload Management of EJBs is performed by the deployed client code.Object Request Broker (ORB) which uses RMI/IIOP (Remote Method Invocation/Internet Inter-ORB Protocol) - manages inter-object communication over the RMI/IIOP protocol.Transaction Manager for EJBs is performed by an implementation of JTS (Java Transactions Service) which is based on Encina Transaction Manager, rewritten in Java.The Database Connection Manager provides pooling of database connections for servlets and EJBs.

Page 68: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Data Server

DataSource

Pool

JNDI

Connection

Servlet

ConnectionConnectionConnectionConnectionConnection

JDBCDriver JDBCDriver

Data Server

Application Server

DataSource

Entity Bean

Connection Pooling

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 9

WebSphere Application Server 3.0x implements a JDBC 2.0-like connection mechanism. WebSphere Application Server 3.5 implements the JDBC 2.0 API. This includes Connection Pooling and use of the Java Naming and Directory Interface (JNDI) and DataSource objects as an alternative to using DriverManager objects to access relational data servers.Connection pooling lets you control and reduce the resources used by your Web-based applications. Web-based applications accessing data servers incur higher and less predictable overhead than non-Web applications, because Web users connect and disconnect more frequently. Often, more resources are spent connecting and disconnecting than are spent during the interactions themselves. Users' interactions are typically shorter, due to the "surfing" nature of the Internet. Users are often from outside the company (Internet, rather than intranet), which make usage volumes higher and more difficult to predict. Connection pooling spreads the connection overhead across several user requests by establishing a pool of connections which servlets can use. Put another way, each user request incurs the overhead of only a fraction of the cost of a connect/disconnect. After the initial resources are spent to produce the connections in the pool, additional connect/disconnect overhead is insignificant because the existing connections are reused repeatedly. The servlets use the connection pool as follows: When a user makes a request over the Web to a servlet, the servlet uses an existing connection from the pool, meaning the user request does not incur the overhead of a data server connect. When the request is satisfied, the servlet returns the connection to the connection pool for use by other servlets. The user request therefore does not incur the overhead of a data server disconnect. It is important to note that the servlet does not explicitly access a connection pool. Instead, the servlet uses a DataSource object to get a connection, and the connection pooling services are automatically provided through the DataSource object.

Page 69: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Architecture

Plug-In

HTTP Server

Admin.Repository

ApplicationDatabase

Admin.Console

Nanny

Servlet Engine- Servlets, JSPs, HTML

EJB Container- Deployed EJBs

Application Server - JVM

Bootstrap Service

Security ServiceNaming Service

Admin. Server - JVM

JavaAppl.

Data Source

ConnectionConnectionConnection

Browser

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 10

The Administrative Console is a client application to the Admin Server that displays a graphical view.The WebSphere Administrative Server runs in its own JVM, and provides three services:

Bootstrap Service: The Admin Server listens on port 900 by default, where the Admin Console connects.Naming Service: Enables finding of EJBs by their names, and listens on port 9000 by default. Security Service: Provides authentication, authorization, and delegation policies.

The Nanny process watches to keep the Admin Server alive, and restarts it if it fails.The Administrative Repository is a relational database that stores configuration and status information.

Clients to WebSphere application servers can be:Java Applications that access the EJB Container directly via RMI/IIOP.Browser clients connect to an HTTP Server, where the Plug-In sends requests to the Servlet Engine.Servlets can call deployed EJBs running inside the EJB Container.

An Application Server runs in its own Java Virtual Machine (JVM), and contains:

EJB Container: Provides security, workload management, persistence, naming and transaction services.Servlet Engine: Manages servlets, maintains HTTP session state using cookies, and stores user profiles. The Servlet Engine contains Web Applications, where Servlets, JSPs and HTML files are configured.

The Data Source configures access to the Application Database, and manages a pool of active database Connections to minimize the overhead of creating and dropping connections.

The EJB Container uses a Data Source to connect to the Application Database.The Application Database is a relational database where entity EJBs store their values.

Page 70: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Summary

WebSphere Application Server components:HTTP Server Plug-inAdministrative Server

Naming serviceSecurity service

Administrative Repository

Administrative Console

Application ServersServlet EngineEJB ContainerDatabase Connection Pooling

08/24/00 © Copyright IBM Corporation 2000 WebSphere Architecture.prz 11

Page 71: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

WebSphere Administration

Concepts

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 1

Page 72: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Administrative Tasks

Configuring applications and Java resourcesControlling access to applicationsPerforming daily administrative operationsAnalyzing usage statistics and performanceOptimizing performance by cloning and distributing applicationsTroubleshooting

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 2

Page 73: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Administrative Model

Node

Administrative Domain

Administrative Repository

AdministrativeServer

AdministrativeConsole

ApplicationServer

ApplicationServer

AdministrativeServer

ApplicationServer

ApplicationServerAdministrative

Console

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 3

WebSphere Application Server provides administrators with a single system view of applications and resources, such as servlets, that are typically deployed across multiple machines in a distributed environment. An administrator working on one physical machine can remotely administer resources locatedon another physical machine.

In the WebSphere administrative model: A physical machine is called a node.Each node contains an administrative server for administering the resources on it.Each administrative server stores its administrative data in an administrative repository, typically a DB2 database. The person installing IBM WebSphere Application Server specifies which administrative repository a given administrative server will use.

An administrative domain is a set of one or more nodes whose administrative servers share an administrative repository, allowing the nodes to be aware of one another and distribute applications among themselves.Each administrative domain has its own topology, comprised of the nodes in the administrative domain, and the resources those nodes contain.The resources on a node, such as servlet class files and enterprise bean JAR files, are represented as administrative resources in the administrative domain. An administrative resource, such as a Servlet, holds configuration information about a "real" resource, such as a servlet file installed on a node. It provides a way to start, stop, and otherwise manage the real resource, perhaps remotely.The topology reveals the containment hierarchy, which is simply a tree illustrating how the administrative resources in the topology are related. The hierarchy shows which resources are parents or children of other resources.The WebSphere Administrative Console enables administrators to access the administrative server on each node in the administrative domain and provides a view of the domain's topology. It supplies task wizards for managing and combining resources in the topology.

Page 74: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Provides admin servicesImplemented as EJBsTransactional updates to configurationAccessed from admin console

Provides security service

Provides JNDI naming service

Admin Server

nanny process

Security Service

Naming Service

Port 9000Port 900

Admin Console Admin

Repository

Bootstrap Server

Admin Server

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 4

The Admin Server provides the services used to control admin resources and perform admin tasks on the admin repository.Server control functions include starting and stopping servers and restarting servers on failure.Persistent admin state is kept in a relational database. Enterprise beans are used to perform transactional updates to configurationThe Admin Server also provides shared services:

Transaction MonitorJNDI Naming ServiceSecurity service

The nanny process is a watchdog process whose job it is to keep the Admin Server running.

Page 75: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Admin Console

Standalone java client applicationCan be installed separately or downloaded to clients from server

Wizards for common tasksConfigurationSecurity

Managing resourcesConfigureStart/StopTracing

EJB deployment

Resource discovery

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 5

The Administrative Console is a standalone Java application providing a graphical user interface for monitoring and configuring WebSphere administrative resources. The console can be installed (from the product CD or by download from a server) on any machine which meets the minimum requirements. New in Version 3.5 is limited Web-based console administration.The Java Administrative Console supports the full range of administrative tools

Page 76: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Node (1-n) (Admin Server)Application Server (0-n) [New Java process, may be a clone]*OLT Controller (0-1) [version 3.0x only]Servlet Redirector (0-1)Installed JDBC Driver (0-n)Generic Server

JDBC Driver (0-n)

Data Source (0-n)

Model (0-n)

Virtual Host (1-n)Web Resources (0-n)

Enterprise Application (0-n)

WebSphere Administrative Domain

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 6

*Application Server expanded on the next slide.

The Administrative Domain is the root of the administration tree. This appears in the console user interface but it does not represent a resource with any properties.Node – a cell in a cluster, a machine on which an administrative server is running.Application Server – a Java process. Can contain EJB Containers and/or a Servlet Engine.OLT controller - a server for the Object Level Trace program (Version 3.0x).Servlet Redirector - a process that forwards requests to a servlet engine, generally on a remote node.Generic Server – Any server or process needed to support the application server environment, such as Java server, C or C++ process, CORBA server, or RMI server. Can use the administrative console to start and stop the server.JDBC Drivers – Configuration of software that enables Java applications to connect to JDBC-compliant databases.DataSource – Configuration for a relational database and a pool of active connections.Models - A template of an application server (or subcomponent) used for making nearly identical copies. The copies are called clones and are use for workload management.Virtual Host – A configuration that maps a set of IP addresses and DNS aliases to a set of Web resources.Web Resources (URIs) – used to locate a resource, jsp, servlet, html etc.Enterprise Application – a logical grouping of EJBs, Web Apps, and Web resources. Can be used to start/stop this logical grouping, even though they may span separate processes. Can be used to set security on the grouping.

Page 77: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Administrative DomainApplication Server (0-n) New Java process, may be a clone

EJB Container (0-n)Configured Data Source (0-1)EJBs (0-n)

Configured Data Source (0-1)

Servlet Engine (0-1) Web Application (0-n)

Servlets (0-n)JSP Compiler (0-1) [Either .91 or 1.0]*File Serving Enabler (0-1)*Error Handler Servlet (0-1)*Invoker Servlet (0-1)*Chainer Servlet (0-1)*

Session ManagerUser Profile Manager

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 7

* WebSphere internal servletsEJB Container – provides services such as persistence, threading, and transaction support to one or more entity or session beans.EJB – either an entity or session enterprise Java bean.Servlet Engine – handles requests for servlets and JSP files. One per Application Server. Can contain multiple Web Applications.Web Applications – Can contain one or more related servlets, JSP files, and Web pages that work together.Servlet – Java program that generates dynamic Web content. Servlets run in a servlet engine and extend the Web server's capabilities.Session Manager – Nabages control of HTTP session objects, allowing servlets to keep track of individual users by assigning each user a unique session ID (for example, shopping cart information).User Profile Manager– Allows an application to store information about users in a database to provide users with a more personalized experience.

Page 78: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Internal ServletsServlet Classname Functionality Commentscom.ibm.servlet.jsp.http.pagecompile.PageCompileServlet

JSP 0.91 page compiler. This JSP will be deprecated in a future release. Not recommended for use in new applications.

com.sun.jsp.runtime.JspServlet JSP 1.0 page compiler. This is the recommended JSP level for WebSphere 3.0x.

com.ibm.servlet.engine.webapp.SimpleFileServlet

File Serving Enabler. Allows WebSphere to serve HTML files in the web application document root.

This causes each access of a static page to be routed through a servlet, which degrades performance. This servlet is often used in WebSphere security configurations. It can become a security exposure.

com.ibm.servlet.engine.webapp.DefaultErrorReporter

Provides page for displaying errors to users of application.

Use this servlet if you want error reporting through an error page but you don't want to write your own error page.

com.ibm.servlet.engine.webapp.Invoker

Serve servlets by classname. Allows you invoke servlets in a directory without configuring them in the admin console.

Considered a security exposure.

com.ibm.websphere.servlet.filter.ChainerServlet

Enable servlet chaining. Allows you to define a list (sequence) of two or more servlets such that the request object and the ServletOutputStream of the first servlet is passed to the next servlet in the sequence.

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 8

All of the servlets, with the exception of DefaultErrorReporter can be configured using the "Add a servlet" task wizard in WebSphere Administrative ConsoleJSPServlet - Handles all JSP requests for a web application by creating and compiling a servlet from each JSP file.SimpleFileServlet - Serve HTML files in the web application document root from WebSphere, rather than the HTTP server, often used so WebSphere Security can be applied to them.DefaultErrorReporter - Page for formatting and displaying uncaught exceptions. You can replace this with your own custom error reporter page.Invoker - Invoke servlets by class name (such as com.mypackage.myServlet) instead of configuring each servlet individually.ChainerServlet - Servlet chaining involves a sequence of two or more servlets, where the output of the first servlet is passed to the next servlet. The last servlet returns the response to the client..

Page 79: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Resource Concepts

Virtual HostA group of host names and IP addresses that are treated as one host

Web ResourceIdentifies the URL locations of Servlets, JSPs, and Web pages

Web ApplicationA group of related Servlets, JSPs, and Web pagesAssociated with a specific Virtual Host

Enterprise ApplicationA combination of Enterprise Beans, Web Applications and Web resources that can be started together and share security policies

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 9

A virtual host is a resource which logically groups a set of TCP/IP host names and IP addresses. Requests that arrive at WebSphere Application Server containing any of the names and addresses associated with the Virtual Host are processed identically. For example:If I have a virtual host that lists aliases www.mystore.com and 187.45.111.177, then the following URLs run the same servlet http://www.mystore.com/MyApp/ShowPage and http://187.45.111.177/MyApp/ShowPage.If I have a second virtual host which has alias www.yoursite.com, then http://www.yoursite.com/MyApp/ShowPage runs a different servlet. Even if this servlet is the same Java program, it is part of a different Web application and has a different servlet context to the first example.A Web Resource is a Web path in a specific Virtual Host. Every servlet you configure will automatically be registered as a Web Resource and you can also add additional Web Resources to apply WebSphere security to static content. In the examples /MyApp/ShowPage is a Web resource under each virtual host.A Web Application is a group of servlets that are loaded (and reloaded) together and share a servlet context. A Web Application has a unique classpath to locate its servlets and a document root to locate its JSPs and other content. When a Web Application is created, it is associated with a specific Virtual Host so its servlets and other content are bound to a specific set of host names and IP addresses.An Enterprise Application identifies a group of resources consisting of any combination of Enterprise Beans, Web Applications and Web Resources. These resources can be started or stopped together and share security properties. Enterprise Applications can include resources distributed across multiple servers.

Page 80: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Resource Relationships

Virtual Hosts

Web Applications

Servlets

Web resources

Node

Application Server

JDBC Driver

Data Source

EJB Container

Enterprise Bean

Servlet Engine

Enterprise Application

User Profile

Session Manager

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 10

The Admin Resource hierarchy (shown as solid lines) defines a containment relationship between resources. However, this does not represent all relationships between resources. There are also association relationships that appear when specific resources are configured:

JDBC Drivers are installed on Nodes.Data Sources can be linked to EJB Containers and Enterprise BeansA Web Application belongs to a single Virtual Host and its root Web path is a Web Resource.Servlets have Web paths which are Web Resources.Enterprise Applications can combine Enterprise Beans, Web Applications and Web Resources.

Some of these relationships highlight restrictions on how you must configure a site. For example, you cannot associate the same Web application with two different Virtual Hosts.Many resources are defined for the whole admin domain and exist across all nodes and servers. The following resources exist within a node and can be cloned to make them available across nodes:

Application ServersEJB ContainersEnterprise BeansServlet EnginesWeb ApplicationsServlets

Page 81: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Summary

WebSphere Administrative DomainCollective resources of all nodes sharing a repositoryNode - machine running an admin server

Resource relationshipsDomain treeWeb applications belong to a specific Virtual HostServlets are registered as Web resourcesEnterprise applications combine EJBs, Web Applications and Web resources

08/24/00 © Copyright IBM Corporation 2000 Admin Concepts.PRZ 11

Page 82: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

IBM WebSphere Web Multi-Platform Configuration

WebSphere Administrative

Console

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 1

Page 83: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Objectives

After completing this unit, you should be able to:

Use the WebSphere Administrative consoleConfigure Virtual Hosts and NodesConfigure DataSources and JDBC drivers

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 2

Page 84: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Starting the Admin Console

NTStart-->Programs-->IBM WebSphere-->Application Server V3.5-->Administrator's Consoleor <as_root>\bin\adminclient.bat [ <host> [ <port> ]]

AIX or Solariscd <as_root>/bin./adminclient.sh [ <host> [ <port> ]]

where:<as_root> is the WebSphere installation directory<host> is the host name or IP address of the Admin server<port> is the port on which the Admin server is listening

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 3

The Administrative Console is a Java application that displays a graphical view of the administrative domain and allows configuration and operational tasks to be performed.The Administrative Console can run on the same machine as WebSphere Application Server or on a remote client. It connects via TCP/IP to an admin server. By default, the server running on port 900 on the local node is used. The host and port can be specified on the command line.

Page 85: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Administrative Console (3.5)

Menu bar

ToolbarRefreshStartStopPingPropertiesTopology viewType viewWizards

Navigation Area

Messages area

Content area

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 4

The Administrative Console graphical user interface consists of three main areas:The Navigation area shows either the Type or the Topology views as a hierarchical display similar to Windows Explorer.The Content area displays information based on the selected items in the navigation area.The Messages area shows status and error messages from the console and admin server.

The menu bar provides options to control the Administrative Console and access on-line help. The Toolbar buttons can be used instead of menu options.Right-button context menus are also provided in the Type and Topology views to control administrative resources.

This page shows the Topology view.

Page 86: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Admin Console Menus

ConsoleTasksTraceImportExportCommand HistoryExit the admin console

ViewTopologyType

HelpContext sensitive help and product documentation

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 5

The Console menu allows you to choose administrative tasks, turn on tracing for problem determination, view serious events, import and export files, view command history, or exit the console.The View menu allows you to choose between the Type or the Topology view.The Help menu links to the on-line help.

Page 87: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Admin Console Help

What is it?

How do I?

Property help

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 6

The Administrative Console Help menu provides the following options:

What is it? - Display context-sensitive, conceptual help for the currently selected object, instance, or task.How do I? - Display context-sensitive, task help for the currently selected object, instance, or task.Property help - Display context-sensitive, settings help for the currently selected object, instance, or task.

WebSphere Version 3.5 installation contains a "starter" Information Center for navigating the set of help files for the WebSphere Administrative Console. The starter Information Center contains only ten to twenty per cent of the available product documentation, and its search facility is not enabled.The full Information Center is available as a convenient download from the WebSphere Web site library page:

http://www.ibm.com/software/webservers/appserv/library.html

You can also browse the full Information Center from the above site, without downloading the files.

You can print entire collections of articles form the Information Center as PDF files.

Page 88: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Type ViewDisplays information about administrative resources

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 7

The Type view shows you: The kinds of items it is possible to configure in the administrative domain, and how many of each kind already exist.

For example, the tab contains folders labeled "Application Servers." When you click the Application Server folder, a table listing information about the existing application servers is displayed on the right side of the console.

The default properties for each type of resource. You can use the Type view to configure default properties for servlets, enterprise beans, and other resource types so that when you create instances of the resources, they will inherit the default properties.To view or edit default properties, right-click a folder and click Default Properties.

The relationships among objects in the administrative domain. The object types are displayed according to their hierarchical, parent-child relationships. This containment hierarchy shows you the order in which you must configure instances. For example, an EJB container must exist before you configure an enterprise bean that will reside in the container.

Page 89: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WizardsWizards make common tasks easier

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 8

Wizard tasks allow you to perform configuration tasks and security tasks.These tasks are also available from the Console-->Tasks menu.

Page 90: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Topology View

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 9

Selecting the Topology view displays all resource instances in the administrative domain. It includes Nodes, Data Sources, JDBC Drivers, Virtual Hosts, Models, and Enterprise Applications. For each node, the Topology View displays the hierarchy of existing resources associated with that node, such as Application Servers.The Administrative Server is represented by the node, that is shown as the machine name in the Topology View. The Administrative Server is stopped by selecting the node and clicking the stop button in the tool bar.Click an instance to display its properties (settings) on the right side of the console. Right-click an instance to display a pop-up menu for performing common actions, such as starting, stopping, pinging, and deleting the resource.

Page 91: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Using Context MenusRight-button on an item to display a pop-up menuIn Type view, you can normally perform:

In Topology view, you can normally perform some or all of:

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 10

Context menus are available by clicking the right-mouse button down over an object in the Type or Topology views.In the Type view you can create or remove instances and you can show the default properties of an instance.In the Topology view, the options available depend on the object selected but typical options include starting and stopping servers or other resources; pinging resources to test if they are active; creating and removing resources or models and clones.

Page 92: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Common Tasks

Start an Application Server, Application or other resourceFrom the Topology view, expand the administrative domainSelect the resourceSelect the Start button or right-click and select Start

Stop an Admin ServerFrom the Topology view, expand the administrative domainSelect the nodeSelect Stop from the context menu

If this is the node your console is connected to, the console will exit

Ping a node, server or other resourceSelect the resourceSelect the Ping button from the toolbar

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 11

Common operational tasks include starting, stopping or pinging resources. These tasks can be performed easily from the Topology view by selecting a resource and using the Toolbar buttons.To stop an Administrative Server, select the node it is running on and select one of the following options from the pop-up menu:Stop if you want to stop the administrative server and all application servers. The application servers will not be restarted when the administrative server is restarted.Stop for restart if you want to stop the administrative server and all the application servers. This is a useful option if you need to perform a configuration task (such as enabling security) which requires the administrative server to be restarted. The application servers will restart when the administrative server restarts.If you stop the administrative server that is on the node which is connected to your admin console, your console will exit.

Page 93: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

NodesA node represents the Admin Server running on a machine

To create a nodeinstall a new WebSphere Application Server machineUse the same repository database

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 12

A node is a machine running a WebSphere Administrative Server. You can only add new nodes by installing a new machine and configuring its database to remotely access the repository for an existing administrative domain.Two node properties can be changed:

The Deployed JAR directory is the directory where Deployed EJB JAR files are located.The Dependent Classpath allows you to append entries to the Admin Server's classpath. This may be necessary if you are deploying EJBs which have a dependency on classes that are not in the EJB JAR file.

Page 94: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Configuring Database Access

Entity beans require access to a database

Configuration tasksCreate JDBC driver

Database specific Install JDBC driver

Copy the driver classes to a nodeCreate DataSource

Associate DataSource name with driver and database namesSpecify connection pooling parameters

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 13

If you will be configuring Entity Beans, you will require a database to store the values of the bean. WebSphere 3.5 uses a concept called a DataSource to implement access to persistent stores (such as databases). The DataSource is important for two reasons. Firstly, it gives connection pooling to databases, so that WebSphere can re-use database connections. Secondly, for BMP or session beans, this creates a model where the bean can ask the application server for a connection. This gives the application server the hook it needs to grab the XA resource manager handle so that it can become the transaction co-ordinator for the transaction.The way this works is that you define a JDBCDriver to the Application Server, then a particular database as a DataSource. This database is given a local name, which will be made available in the JNDI name space. Servlets and BMP or Session Beans which wish to access the DataSource can retrieve it using a JNDI lookup, and then get a standard JDBC connection from the DataSource. This is documented under Connection Pooling in the help files.The DataSource is the object that applications will be configured to use. WebSphere separates the DataSource from the JDBC driver. This is important, because you might want to reconfigure a DataSource to use an alternative driver (for example, one that supports two-phase commits for transactions).

Page 95: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Configure JDBC Drivers

Create a JDBC driver:

Install the JDBC driver on nodes that will use it

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 14

To access a database, you will need to create and install a JDBC driver on the node.You can create a JDBC Driver from:

The Type view - select JDBCDrivers and select Create from the context menu.The Topology view - select the WebSphere Administrative Domain and select Create -> JDBCDriver from the context menu.

You must enter a name for the JDBC driver instance. This can be any name you choose. Class Name: Specifies the name of the Java class that implements the driver.URL prefix: The URL prefix is comprised of the protocol and subprotocol separated by a colon ":".JTA Enabled: Specifies whether the driver can handle Java-based two-phase commit transactions. JTA is a transaction API for Java applications. If no performing distributed transactions, set this value to false. Otherwise, if using DB2 6.1, this setting must be compatible with the URL prefix setting:

If the URL prefix is jdbc:db2, specify "False".If the URL prefix is jdbc:jta:db2, specify "True".

For Oracle you might enter:Name: OracleJDBCDriverImplementation Class: oracle.jdbc.driver.OracleDriverURL Prefix: jdbc:oracle:thin:@hostname:1521JTA Enabled: false

Once the driver is configured, you need to install it on the nodes that will use that driver. This tells the server where to find the JDBC class files.You can install a JDBC Driver from:

The Topology view - select the JDBCDriver resource and select Install from the context menu.Select the node you want to install the driver on.

Page 96: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Configure Data Sources

A Data Source object maps to a real database using a specific driver

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 15

Once you have created a JDBC driver, you must configure a data source to allow EJBs to access a database.You can create a Data Source from:

The Types view - select DataSources and select Create from the context menu.The Topology view - select the WebSphereAdminDomain and select Create -> DataSource from the context menu.

The General tab specifies the DataSource name which you associate with the EJBContainer or EJB when you configure it. You must also enter the database name and select the driver to use.

The Advanced tab specifies the connection pooling settingsThe minimum and maximum connection pool sizes control the number of connections in the pool. The Connection time-out (default 300 seconds = 5 minutes) means that if the pool reaches the maximum, new connections will wait this long for a new connection before timing out. The Idle time-out of 1800 seconds (30 minutes), means that if connections in the pool are unused for 30 minutes they will be closed, down to the minimum. The orphan time-out of 1800 seconds (30 minutes) is how long a connection can remain allocated before the server decides that the owner thread has died and the connection should be recovered.

Page 97: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Virtual Hosts

Map host names and IP addresses in URLs to application resources

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 16

A virtual host is a group of rules for mapping the host names or IP addresses in URLs to the correct application resource. All Web applications are associated with a Virtual Host. The directory where application resources are stored is usually under a common parent for the virtual host.

You can create a Virtual Host from:The Tasks view - expand Configuration and start the Create a Virtual Host wizard.The Types view - select Virtual Hosts and select Create from the context menu.The Topology view - select the WebSphereAdminDomain and select Create -> Virtual Host from the context menu.

The General tab specifies the Virtual Host name. This can be any name you choose.

The Advanced tab specifies the mapping from file extensions to MIME types and the host aliases for this virtual host. Host aliases can be host names or IP addresses that will appear in URLs.

Page 98: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Create Default Server after Installation

If you did not perform a custom installation but want the default server, you can manually enable it

Edit <as_root>/bin/admin.config and setinstall.initial.config=true

Stop and restart Admin ServerDefault server config will be created in the repository when Admin Server restarts

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 17

When you perform a custom installation, you can select the option to have the default server created. This is created the first time the Administrative Server is started.If you want to create the default server after installation (for example, if you deleted it), you can edit the admin.config file and specify an option to have the default server created the next time the Administrative Server is started.

Page 99: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Enable Remote Distribution of Console

Default server includes a Web Application (admin) to enable console installation to be performed from a server

Make sure default server is configured and startedNT: <as_root>\bin\setupClients.bat

Builds a jar file containing the Admin Client filesAt client:

Make sure appropriate version of JDK is installedJAVA_HOME environment variable must be set correctly

Download JAR file http://hostname/admin/index.html

Extract JAR filejar -xvf IBMWebASv3_NT_AdminClient.jar

Start clientcd binadminclient hostname

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 18

The Administrative Console can be installed on a remote client system instead of being used on the server where the Administrative Server and application servers are running. This is a desirable configuration because the Administrative Console uses significant machine resources (typically from 30-60 MB memory).You can install only the Administrative Console from the product CD-ROM or you can configure the default server so that the Administrative Console can be downloaded across the network.

Page 100: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

WebSphere Administrative Clients

AdministrativeRepository

AdministrativeServer

JavaAdmin

Console

WebSphere Control

Program (wscp)*

WebAdmin

Console*

XMLConfigTool

Graphical Clients Command Line Clients

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 19

*New in WebSphere Version 3.5.

The WebSphere Administrative Server must be running before the Administrative Client can start. The Java Administrative Console will not even start if the Administrative Server is not running.

The Java Admin Console supports all objects in the WebSphere administrative domain, so it is the preferred client for managing resources.

The Web Admin Console is a light client that runs in a Web browser. You can use it to work with a subset of the resources in the administrative domain. It provides the opportunity to work with property files encoded in eXtensible Markup Language (XML).

The XMLConfig Tool can import and export configuration data to and from the Administrative Repository using XML files.

The WebSphere Control Program (wscp) is a command-line and scripting interface for administering resources in WebSphere Advanced Application Server. It is based on Tcl (tool command language). The wscp interface extends Tcl by providing a set of commands for manipulating WebSphere objects. The wscp interface does not support security objects.

Page 101: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Starting the Web Admin Console

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 20

The Web administrative console is a light client that runs in a Web browser.The Web console is available on machines containing WebSphere administrative servers. You can use a Web browser to access it remotely from machines that do not contain an administrative server.

To start the Web administrative console:

1. Ensure that the Web server is running on the machine containing the console. 2. Ensure the default application server is also running. 3. In a Web browser, type: http://your.server.name/admin where your.server.name is localhost if the Web console is on the local machine. If the console is on a remote machine, enter the short or fully qualified host name for the machine containing the administrative server. 4. From the HTML page displayed, select XML Web Administration Tool. 5. Wait for the console to load into the browser.

To stop the console, simply close the browser.

Page 102: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Web Administrative Console

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 21

The Web Administrative Console supports only a subset of the resources in the WebSphere administrative domain. Additional resources types can be administered with other WebSphere Administrative clients, such as the Java Administrative Console, or the command line clients: XMLConfig and the WebSphere Control Program (wscp).

Web Administrative Console ResourcesSUPPORTS DOES NOT SUPPORTNodes Enterprise ApplicationsApplication Servers Generic ServersSevlet Engines EJB ContainersWeb Applications Enterprise JavaBeansServlets ModelsJSP Files ClonesJDBC Drivers Web ResourcesData Sources Session ManagersVirtual Hosts User Profile Managers Servlet Redirectors Console Messages Tracing Administering Transactions

You cannot start and stop Application Servers, or restart Web Applications, from the Web Administrative Console.

Page 103: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Using the Web Admin Console

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 22

Use the Tasks part of the navigation area to create new objects (administrative resources): 1. Select a "Create" task to display a form. 2. Specify properties in the form. 3. To save the form changes locally, Submit the form. 4. To apply the changes to the administrative domain, Commit All Modifications.

You can also export the local workspace changes to an XML file. You can later use another administrative client to import the file into the administrative domain and apply the changes.If you do not either commit or export your changes, they will be discarded when you end the administrative session (close the browser).

Use the Resources part of the navigation area to view and configure existing resources. To edit resource properties: 1. Select a resource to display a form with buttons at the bottom. 2. Edit the resource properties. 3. Click the Submit Modifications button to save the changes locally.

Depending on the resource type, you might also be able to: Delete the resource Create another resource with the same properties Install the resource on a node (pertains to JDBC driver)

Page 104: Course Introduction IBM WebSphere Web Multi-Platform ... · Standalone programs that run in a JVM Applets Client-side code that runs in a Web browser Servlets Server-side code that

Summary

WebSphere Administrative Console can be installed locally or on a remote client

Two viewsType - hierarchical view of administrative resource relationshipsTopology - hierarchical view of administrative domain

Web Administrative Console supports a subset of administrative resources

08/24/00 © Copyright IBM Corporation 2000 WS Admin.PRZ 23