Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dave hay web sphere administration for domino administrators


Published on

This presentation aims to introduce you, the Domino administrator, to the fundamentals of IBM WebSphere Application Server (WAS).

It aims to cover: -
What is WebSphere Application Server (WAS) ?
A brief history of WebSphere Application Server
The core building blocks of a typical WAS infrastructure
An examination of some of the core WAS configuration files
An illustration, by demonstration, of WAS administration
via command-line
via script
via graphical user interface
Note that I'm going to focus on WAS v7 because that's what is currently delivered via IBM products such as Connections and Sametime .....

Published in: Technology, Business
  • Be the first to comment

Dave hay web sphere administration for domino administrators

  1. 1. DanNotes – Danish Notes User Group 2012 WebSphere Administration for Domino Administrators Wednesday 2 May 20121
  2. 2. Introduction With IBM since 1992 Experienced with hardware, software and services ● Started with AS/400 and iSeries ● Moved onto Network Station ● Working with WebSphere and Lotus software since 2000 ● Linux and Mac advocate ● Collaboration evangelist ● Serial blogger Infrastructure Architect ● Focused on IBM middleware and integration with client hardware, software and services With IBM Software Services since 2009 ● Wide range of projects, including Collaboration Portal, Secure Portal, Process Portal, Google Search Appliance integration and, most recently, WAS integration with Active Directory .....2
  3. 3. Session objectives This presentation aims to introduce you, the Domino administrator, to the fundamentals of IBM WebSphere Application Server (WAS). It aims to cover: - ● What is WebSphere Application Server (WAS) ? ● A brief history of WebSphere Application Server ● The core building blocks of a typical WAS infrastructure ● An examination of some of the core WAS configuration files ● An illustration, by demonstration, of WAS administration ● via command-line ● via script ● via graphical user interface ● Note that Im going to focus on WAS v7 because thats what is currently delivered via IBM products such as Connections and Sametime .....33
  4. 4. What is Java Enterprise Edition (JEE) ?Source: The Java EE 6 Tutorial: Basic Concepts (4th Edition) - Eric Jendrock (Author), Ian Evans, Devika Gollapudi, Kim Haase & Chinmayee Srivathsa 4
  5. 5. What is WebSphere Application Server (WAS) ? ● A core component of many IBM software products ● IBM Connections ● WebSphere Portal ● IBM Web Content Manager ● IBM Sametime ● IBM Lotus Quickr for WebSphere Portal ● IBM Forms ● From the WebSphere Brand of IBM Software ● Available on every server software platform on the market ...... ● Often misnamed purely as WebSphere ● WebSphere is the brand ● WAS is but one product ● A standards-based Java Enterprise Edition (JEE) application server. ● A set of run-time components, servers and services ● Based and built upon open-standards including JEE6, OSGi, CEA, JPA, SAML, SCA, SDO, SIP, Web 2.0, Mobile, Dynamic Scripting and XML :-)55
  6. 6. A brief history of WebSphere Application Server – v1 to v766
  7. 7. A brief history of WebSphere Application Server – Up to Date WAS V8 Web 2.0 & Mobile FeP WAS HV Refresh  WAS V7 Feature Packs Migration Toolkit Refresh (XML, CEA, SCA)  SAML & WOLA  WAS HV  WAS EC2 AMI 2011  WebSphere 0 01 Application Server V7 2  WAS V7 & V6.1 Feature Packs  WebSphere 9 Application 200 Server V6.1 Feature Packs 0 8 20 (FeP) WAS V8 Alpha, Beta & Beta Refresh  WebSphere WAS V7 Feature Packs Application Server OSGi Apps & JPA 2.0 V6.1 0 7  WebSphere 20 Modern Batch CEA Mobile Widgets Application Server Dynamic Scripting V6.0.2 WAS HV Refresh 6 Migration Toolkit Refresh 00  WebSphere Application Server 2 V6 5 2007
  8. 8. Introducing WebSphere Application Server 8.5 .... Specifically, WAS 8.5 will include … The Liberty Profile ● A dynamic WAS profile ● Features and services deployed on-demand ● Model is similar to that of the Linux kernel ● Built around the Open Services Gateway Imitative (OSGI) model ● For example: - ● The application only requires Java servlets, only the WAS kernel, the HTTP transport and the web container are loaded.... ● The application then requires database persistence via the Java Persistence API ? Load that up .... ● No WAS restarts required ● Ideal for development. ● Perhaps this is a parallel with the way that Domino works ? One can load and unload tasks such as nldap and nhttpd at will. Just a thought ..... :-)8
  9. 9. WAS vs. Domino – Whats the Difference ? John P. Lamb, Michael Laskey and Gopal Indurkhya explain in their book, IBM WebSphere and Lotus: Implementing Collaborative Solutions, which applications are best suited for Lotus Domino or WebSphere Application Server in the following way: “At a high level, the type of application is an important factor in deciding on which platform to build. ... the strengths of Domino lie in collaborative applications. Domino is good at applications involving user interaction, providing a scalable document data store, rich content handling, and a robust security model. WebSphere Application Server (WAS) is ideal for transactional applications, highly leveraging a relational data store, and providing enterprise-level J2EE application hosting.”99
  10. 10. Deployment Manager Oracle IBM WAS HTTP Server Site Load Visitor Balancer WAS Domino Domino Directory10
  11. 11. Some examples of where WAS fits ... IBM Connections IBM Sametime WebSphere Portal11
  12. 12. How is WAS delivered ?1212
  13. 13. What will you see most commonly .... Most IBM Collaboration Solutions ( nee Lotus ) deployments will include some entitlement for ● WAS Network Deployment (WAS ND) ● Built on top of the WAS Base edition ● Advanced deployment services such as: - ● Advanced clustering ● Dynamic scalability ● High availability ● Supports multiple, distributed servers as well as stand-alone servers ● Centralized administration of multiple servers ● Advanced management features for distributed configurations ● Includes: - ● IBM HTTP Server ● WebSphere Plugin ● WebSphere Edge Components ( Load Balancer, Reverse Proxy ) ● etc.13
  14. 14. What are the core WAS building blocks ? Application in this model refers to a Java EE (J2EE) web application, comprised of an Enterprise ARchive (.EAR) file and/or Web Application Archive ( .WAR) files. Application Server is a process that hosts and runs one or more Java EE web application. Each application server runs in its own Java Virtual Machine (JVM). Another name for Application Server is Instance or JVM instance or merely JVM Node is an individual physical or virtual system/machine that contains an installation of WebSphere Application Server. Cell is a group of Nodes in an administrative domain.14
  15. 15. What are the core WAS building blocks ? Deployment Manager administers multiple nodes in a cell from a centralized location. Node Agents work with the Deployment Manager to perform administrative functions. Cluster is a group of application servers that are used for the same purpose / run the same applications.15
  16. 16. To put it another way .... ● A cell consists of one or more physical or logical ( virtual ) nodes ● A node contains one or more application servers or instances ● An instance comprises a single JVM ● Applications are deployed to instances A cluster consists of one or more instances ( a cluster of one wouldnt be ● much of a cluster ) ● The configuration of the cell is managed by the Deployment Manager instance Each node has a Node Agent instance which is communicates with the ● Deployment Manager16
  17. 17. File System Layout Split into two distinct sections: - ● Read-only product static files or product binaries ● shared by any functional instance of the WAS product ● Set of configuration files that are customized ● Known as the WAS profile ● Minimum of one profile per WAS installation Analagous to Domino partitioning17
  18. 18. File System Layout – Domino and WAS Compared Domino Product Binaries WAS Product Binaries + + + + Domino Domino Data Data WAS WAS Directory Directory Profile Profile Domino Domino Application Application Server Server Server / Server / Deployment Deployment Manager Manager Physical / Virtual Machine Physical / Virtual Machine18
  19. 19. An Example - IBM Connections Deployment WAS Product Binaries WAS Product Binaries + + + + WAS WAS WAS WAS Profile Profile Profile Profile (DMgr01) (AppSrv01) (AppSrv01) (AppSrv02) Deployment Application Application Application Manager Server Server Server Instance Instance Instance Instance (Profiles) (Homepage) (Blogs) Node 1 Node 219
  20. 20. What else do we need to know about the WAS file system ? Product Binaries /opt/IBM/WebSphere/AppServer Profiles /opt/IBM/WebSphere/AppServer/profiles/Dmgr01 /opt/IBM/WebSphere/AppServer/profiles/AppSrv01 /opt/IBM/WebSphere/wp_profile Cell Configuration /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/rhel Node Configuration /opt/IBM/WebSphere/AppServer/profiles/wp_profile/config/cells/rhel/nodes/rhel/servers/server1 /opt/IBM/WebSphere/AppServer/profiles/wp_profile/config/cells/rhel/nodes/rhel/servers/WebSphere_Portal Note: these are examples of paths; guess which OS I mainly use :-)20
  21. 21. Where does WAS keep its logs ? ● In multiple places ● With the binaries ● /opt/IBM/WebSphere/AppServer ● /opt/IBM/WebSphere/PortalServer ● /opt/IBM/WebSphere/UpdateInstaller/logs ● With the web server Most Useful ● /opt/IBM/HTTPServer/logs ● /opt/IBM/HTTPServer/Plugin/logs ● With the profile ● /opt/IBM/WebSphere/AppServer/profiles/wp_profile/logs ● /opt/IBM/WebSphere/AppServer/profiles/wp_profile/logs/server1 ● /opt/IBM/WebSphere/AppServer/profiles/wp_profile/logs/WebSphere_Portal21
  22. 22. Which bits of WAS do we really need to know about ? ( 1/3 ) ● The Web Container ● Similar to the Domino Web Server ● Serves dynamic web content such as servlets and JSPs ● Can serve static content, but this isnt a typical pattern ● Receives requests vis Web container inbound transport chain ● Participates in Single Sign-On interactions including LTPA and SPNEGO ● The EJB Container ● Similar to Domino IIOP Task in that it communicates over the RMI/ORB protocol. ● Runtime for deployment and management of Enterprise JavaBeans (EJB) ● Can interaction with Web Container ● The Service Integration (SI) Bus ● Default Java Message Service (JMS) provider ● Provides point-to-point and publish/subscribe services between application servers ● JMS is a reliable protocol with built-in Quality of Service (QoS) and intelligent mediation ● Provides asynchronous messaging capability ● IBM Connections makes particular use of the SIbus22
  23. 23. Which bits of WAS do we really need to know about ? ( 2/3 ) ● Java Database Connectivity (JDBC) ● Provides loose coupling between application servers and relational databases ● Application talks to application server, application server talks to JDBC data source, JDBC data source talks to JDBC driver, JDBC driver talks to relational database ● Supports performance characteristics such as connection and statement pooling ● JDBC drivers exist for most relational database platforms, including: - ● DB2 UDB ● Domino :-) ● Oracle ● SQL Server ● PostgreQL ● MySQL ● Lightweight Third Party Authentication (LTPA) ● Provides identity assertion across Domino and WAS-based servers ● Allows a user to log-in once and then seamlessly access other servers in SSO realm ● Proprietary to IBM ● Potentially more efficient that mechanisms which “call back” e.g. SPNEGO, Kerberos23
  24. 24. Which bits of WAS do we really need to know about ? ( 3/3 ) ● Federated Respository ● Unlike Domino, WAS cannot be used as a LDAP server ● However, it does have its own built-in user registry – defaultWIMFileBasedRealm – which, out-of- the-box, contains the administration user ID ● Federated Repository function allows WAS to see multiple user registries, including WIM, LDAP, database, custom adapters etc. ● This provides a single logical repository of users and groups, similar to Dominos Directory Assistance feature ● Job Manager ● Introduced in WAS v7, this adds flexible management to WAS ● Application servers register with the Job Manager, via an Administrative Agent ● The Job Manager can then queue jobs to one of many Application Servers ● Jobs can include wsadmin scripts, application management commands, server start/stop commands etc. ● The next slide provides an illustration of the Job Manager hierarchy24
  25. 25. An Example of the Job Manager Hierarchy25
  26. 26. What is the Interated Solutions Console (ISC) ? ● A single, common interface for system administration ● The main platform on which IBM and non-IBM products can build administrative user interfaces as individual plug-ins to a common console framework ● A Java EE application running on WAS ● Completely web-based ● No separate admin client ( not required since v4 ) ● Not the only game in town for WAS admin26
  27. 27. IBM Sametime extends the ISC – one of a few products which do ...27
  28. 28. Apart from the ISC, we also have wsadmin .... ● wsadmin is a scripting interface to the WAS administration APIs ● wsadmin can be interactive: - $ ./ -lang jython -c AdminApp.list() or scripted $ ./ -lang jacl -f ~/extractDataSource.tcl ● wsadmin supports two different scripting languages ● Jacl - a self-contained implementation of Tool Command Langage – Tcl ● Jython – a Java-based implementation of the Python programming language Jacl has been deprecated in favour of Jython, which could also be said to be simpler ● Why script ? Automation, audit trail, re-use, remote access, consistency ....l28
  29. 29. A quick plug for automation .... ● Rational Automation Framework ● A customizable framework to provide automation of: - ● environment build-outs ● configuration management ● application deployments on heterogeneous middleware platforms ● IBM Workload Deployer ● A hardware appliance that provides access to IBM middleware virtual images and patterns ● Easily, quickly and repeatedly create application environments ● Provide for secure deployment in a private cloud ● Uses Rational Automation Framework ● IBM PureSystems ● Expert, integrated, enterprise-level family of cloud system ● Encompasses applications, services, hardware, and the expertise ● Uses Rational Automation Framework29
  30. 30. And onto .... The Demo .....30
  31. 31. Questions ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3131
  32. 32. Next Steps .... ● Go here and download the WAS 8.5 Liberty Profile ● Sign up for IBM developerWorks ● Check out some of the links at the end of this deck Download a trial / evaluation of one of the IBM Lotus products that include ● WAS ● IBM WebSphere Portal ● IBM Web Content Manager ● IBM Forms ● etc. ● Reach out to IBM Software Services :-)32
  33. 33. Tak ! Mange takTack såmycket33
  34. 34. References WebSphere Application Server WebSphere Application Server Version 7.0 Information Center WebSphere Application Server product architecture JVM updates in WebSphere Application Server V8: Using wsadmin and Jython to easily collect and report WebSphere Application Server PMI data WebSphere Scripting: WSADMIN, jacl, jython [PDF] Jython script library Redbook - WebSphere Application Server V7 Administration and Configuration Guide [PDF] Using Jython Scripting Language With WSADMIN IBM Education Assistant – WebSphere Overview of IBM WebSphere Application Server Concepts for IBM Lotus Connections Administrators [PDF] IBM WebSphere Application Server Introduction for Lotus [PDF] Introducing the WAS Liberty Profile WebSphere Application Server V8.5 Concepts, Planning and Design Guide34
  35. 35. Backup Material35
  36. 36. Recap of the Demo ( 1/2 ) The main points of the file system ● Product binaries ● Profiles ● Where the logs are kept ● For binaries and installations ● For profiles ● How to start and stop WAS ● Examples of scripts and “short cuts” ● How to back up WAS ● ● Some core configuration files ● Cell configuration – resources.xml ● Security configuration – security.xml ● WIM configuration – wimconfig.xml ● SOAP client configuration - soap.client.props36
  37. 37. Recap of the Demo ( 2/2 ) ● The Integrated Solutions Console ● wsadmin ● JACL ● Jython ● Federated Repositories ● defaultWIM ● LDAP ● Update Installer ● Covers IHS, Plugin, SDK, WAS .... ● Common TCP/IP ports ● And how to see whats listening ....37
  38. 38. wsadmin – what did we do ? JACL - lots of dollars, now deprecated $AdminApp uninstall DefaultApplication $AdminApp list $AdminApp install /opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear $AdminApp taskInfo /opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear MapModulesToServers $AdminConfig save38
  39. 39. wsadmin – what did we do ? Jython - its the future Getting Help print // Penelope Pitstop print print print print print print Unformatted output - hard to read AdminApp.list() AdminApp.install(/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear) AdminApp.uninstall(DefaultApplication.ear) AdminApp.taskInfo(/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear, MapModulesToServers)
  40. 40. wsadmin – what did we do ? Formatted output - easier on the eyes print AdminApp.list() print AdminApp.uninstall(DefaultApplication.ear) print print AdminApp.install(/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear) print AdminApp.taskInfo(/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear,MapModul esToServers) print print AdminApplication.startApplicationOnSingleServer("DefaultApplication.ear","rhel","server1") print print AdminServerManagement.listServers() print AdminServerManagement.showServerInfo("rhel","server1")40
  41. 41. wsadmin – what did we do ? Interactive /opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/ -lang jython -c print AdminApp.list() /opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/ -lang jython -c AdminApplication.stopApplicationOnSingleServer("DefaultApplication.ear","rhel","server1") Scripted /opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/ -lang jython -f /opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/ -lang jython -f /opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/ -lang jython -f /opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/ -lang jython -f startApplication.py41