| WebSphere Application Server is a platform on which | | | | Web servers. Can be done through the administrative |
| Java-based business applications run. WebSphere | | | | console. Alternatively use the script generated during |
| Application Server Is an implementation of the Java 2 | | | | the installation of the plug-in which can automate the |
| Enterprise Edition(J2ee) Specification. | | | | mapping of all the applications to the Web server |
| WebSphere Application Server provides services | | | | configure .bat in bin. Mapping the applications to |
| (database connectivity, threading, workload | | | | specific Web Servers will cause the custom |
| management, and so forth) that can be used by the | | | | plugin-cfg.xml files for only those Web servers to |
| business applications. The main element is the | | | | include the information for those applications. Web |
| application server, a java process that encapsulates | | | | servers target specific applications running in a cell. |
| many services, including the containers, where | | | | Automatically generated by the deployment manager. |
| business logic executes. If you are familiar with J2EE, | | | | Just as modules for an enterprises application need to |
| you will recognize the Web Container and the EJB | | | | be mapped to one or more application servers, they |
| container. The Web container executes Servlets and | | | | also need to be mapped to one or more Web |
| JavaServer Pages(JSPs), both of which are java | | | | servers. |
| classes that generate markup to be viewed by a | | | | J2EE Packaging |
| Web browser. Traffic into and out of the Web | | | | A J2EE application is packaged in an Enterprise |
| Container travels through the embedded HTTP | | | | Archive, a file with a.EAR extension. The application |
| Server. While Servlets and JSPs can act | | | | has a deployment descriptor, shown here as DD, |
| independently, they most commonly make calls to | | | | allowing configuration to a specific container's |
| Enterprise Java Beans (EJBs) to executes business | | | | environment when deployed. The application can |
| logic or access data. EJBs, which run in the EJB | | | | include one or more modules. J2EE components are |
| container, are easily reusable java classes. They most | | | | grouped in modules, and each module has its own |
| commonly communicate with a relational database or | | | | deployment descriptor. EJB modules group related |
| other external source of application data, either | | | | EJBs in a single module, and are packaged in Java |
| returning that data to the Web container or making | | | | Archive (JAR) files. Note that there is only |
| changes to the data on behalf of the servlet or JSP. | | | | deployment descriptor for all of the EJBs in the |
| The JMS messaging engine is built into the application | | | | module. Web modules group servlet class files, JSPs, |
| server. This is a pure-java messaging engine. JMS | | | | HTML files and images. They are packaged in Web |
| destinations, known as queues and topics provide | | | | Application Archive (WAR) files. Application client |
| asynchronous messaging services to the code running | | | | modules are packaged in Java Archive (JAR) files. |
| inside the containers, JMS will be covered in more | | | | Resource Adapters may be packaged to the |
| depth later in this course. | | | | application server or within an application .EAR file. |
| As you will see in more detail later on, the web | | | | Assembling an enterprise application |
| services engine enables application components to be | | | | When working with a workspace handed over by |
| exposed as web services, which can be accessed | | | | development, no assembly is required (already done |
| using Simple Object Access Protocol (SOAP). | | | | automatically by tool). If your developers use IBM |
| Several other services run within the application | | | | tools you may receive an existing, working |
| server, including the dynamic cache, data replication, | | | | workspace folder for final configuration and |
| security, and others. These will be covered later in | | | | deployment. In this case the individual WAR and JAR |
| this course. | | | | files are not required as they already exist as part of |
| There are also some important components outside | | | | the workspace. When working with workspaces all |
| of the application server process. | | | | you need to do when starting AST, is point to the |
| WebSphere Application Server also provides a plug-in | | | | root directory of the workspace. If you receive the |
| for HTTP servers that determines what HTTP traffic | | | | individual WAR and JAR files, which are the modules |
| is intended to be handled by WebSphere, and routes | | | | for the application, you will need to point AST to an |
| the requests to the appropriate server. The plug-in is | | | | empty workspace which will hold the Enterprise |
| also a critical player in workload management of | | | | application's workspace. You only do this the first |
| HTTP requests, as it can distribute the load to | | | | time, thereafter you just point AST to this newly |
| multiple application server, as well as steer traffic | | | | created workspace directory. In this last scenario, |
| away from unavailable servers. It too roads its | | | | assembly is just the action of importing the files |
| configuration from a special XML file. | | | | containing the modules and associating them with the |
| One of the servervices provided within the | | | | Enterprise Application. The end result is an EAR file, |
| application server is the admin service. This service | | | | which contains all the modules and their deployment |
| allows for the ability to configure the application | | | | descriptors. The EAR file can then be installed (or |
| server. This files necessary for configuration are | | | | deployed) to an application server. |
| stored outside of the actual application server in a | | | | Creating a data source |
| set of XML configuration files. There is an application | | | | Installed applications that must interact with relational |
| that runs within the Web application-the admin | | | | databases use JDBC providers for data access. |
| console. | | | | Together, the JDBC provider and data source |
| WebSphere Architecture Administration | | | | objects are functionally equivalent to the J2EE |
| There are two main tools used to administer | | | | Connector architecture (JCA) connection factory |
| WebSphere Application Server:1) The Administrative | | | | (which provides access to non-relational databases). |
| console, and 2) wsadmin command line tool. | | | | Installed applications use a data source to access the |
| The Server's Configuration is stored in a set of XML | | | | data from the database. A data source is associated |
| files, often referred to as the configuration | | | | with a JDBC provider that supplies the specific JDBC |
| repository. These files define the server itself, as well | | | | driver implementation class. The data source |
| as resources and services that it provides. One of | | | | represents the J2EE Connector Architecture (JCA) |
| the services provided within the application server is | | | | connection factory for the relational adapter. |
| the admin service. This service allows for the ability | | | | Application components use the data source to |
| to configure the application server. The files | | | | access connection instances to a specific database; a |
| necessary for configuration are stored outside of the | | | | connection pool is associated with each data source. |
| actual application server in a set of XML configuration | | | | You can create multiple data sources with different |
| files. There is an application that runs within the Web | | | | settings, and associate them with the same JDBC |
| container that provides user the ability to administer | | | | provider. (One reason to do this is to provide access |
| the application server via a Web application- the | | | | to different databases.) JDBC providers that are |
| admin console. Here you see the communication from | | | | supported by WebSphere Application Server are |
| the browser all the way back to the XML | | | | required to implement one or both of the following |
| configuration files. Wsadmin can be used to | | | | data source interfaces, which are defined by Sun |
| administer the application server in two ways. 1) Via | | | | Microsystems. The interfaces enable the application |
| SOAP by communicating with the embedded HTTP | | | | to run in a single-phase or two-phase transaction |
| server. 2) By using RMI (the default) to communicate | | | | protocol. |
| directly with the admin service. | | | | WebSphere Application Server logs |
| One of the services provided within the application | | | | Java virtual machine (JVM) Logs |
| server is the admin service. This service allows for | | | | The JVM logs are created by redirecting the |
| the ability to configure the application server. The | | | | System.out and System.err streams of the JVM to |
| files necessary for configuration are stored outside | | | | independent log files. WebSphere Application Server |
| of the actual application server in a set of XML | | | | writes formatted messages to the System.out |
| configuration files. There is an application that runs | | | | stream. In addition, applications and other code can |
| within the Web container that provides users the | | | | write to these streams using the print() and printIn() |
| ability to administer the application server via a Web | | | | methods defined by the streams. In the case of a |
| application-the admin console. | | | | WebSphere Application Server Network Deployment |
| WebSphere profiles overview | | | | configuration, JVM logs are also created for the |
| Profiles are the way that you are allowed to run | | | | deployment manager and each node agent because |
| more than one application server on a single | | | | they also represent JVMs. |
| installation of WebSphere product files. | | | | Process Logs |
| Profiles are sets of files that represent a WebSphere | | | | WebSphere Application Server processes contain two |
| Application Server configuration. WebSphere | | | | output streams that are accessible to native code |
| Application Server files are split into two categories. | | | | running in the process. These streams are the stdout |
| 1) Product files Set of shared read-only static files or | | | | and stderr streams. Native code, including Java virtual |
| product binaries shared by any instances of the | | | | machines (JVM), might write data to these process |
| WebSphere Application Server product. 2) | | | | streams. In addition, JVM provided System.out and |
| Configuration files (profiles) Set of user-customizable | | | | System.err streams can be configured to write their |
| data files. Files include: WebSphere configuration, | | | | data to these streams also. As with JVM logs, there |
| installed applications, resource adapters, properties, | | | | is a set of process logs for each application server, |
| log files, and so forth. Each profile uses the same | | | | since each JVM is an operating system process, and |
| product files, Simpler than multiple WebSphere | | | | in the case of a WebSphere Application Server |
| installations, Less disk space, Simplifies application of | | | | Network Deployment configuration, a set of process |
| product updates. | | | | logs for the deployment manager and each node |
| Under the WebSphere installation directory there are | | | | agent. |
| subdirectories for each profile. In the example above | | | | IBM Service Logs |
| there are two application servers running that are | | | | The IBM Service log contains both the WebSphere |
| each configure by the files that exist within their own | | | | Application Server messages that are written to the |
| profile directory. | | | | System.out stream and some special messages that |
| Network deployment runtime flow | | | | contain extended service information that is normally |
| The main theme with network deployment is | | | | not of interest, but can be important when analyzing |
| distributed applications. While the "flow" of an | | | | problems. There is one service log for all WebSphere |
| application remains the same, there are significant | | | | Application Server JVMs on a node, including all |
| additions to runtime of an application. Note the "Load | | | | application servers. The IBM Service log is maintained |
| balancer" this allows for multiple HTTP servers, users | | | | in a binary format and requires a special tool to view. |
| point there browsers to the load balancer and their | | | | This viewer, the AST Log and Trace Analyzer, |
| request will be work load managed to an HTTP | | | | provides additional diagnostic capabilities. In addition, |
| Server. Once the request hits one of these HTTP | | | | the binary format provides capabilities that are utilized |
| Servers, the HTTP Server plug-in will load balance the | | | | by IBM support organizations. The HTTP server |
| request between the application servers that it is | | | | plug-in log will be covered later in this presentation. |
| configured to serve. Once the request enters the | | | | Wsadmin Introduction |
| application server, the flow is identical to how it was | | | | Wsadmin provides scripting capabilities and |
| in Express and Base. The Java clients requests to | | | | command-line administration. Common operational and |
| EJBs can also be work load managed so that the | | | | configuration tasks can be performed from scripts |
| requests do not all hit one application server. | | | | and the command line instead of through the |
| Network Deployment Administration Flow. | | | | administrative console. The WebSphere Application |
| Each managed process, node agent, deployment | | | | Server wsadmin tool provides the ability to execute |
| manager starts with it's own set of configuration files. | | | | scripts. You can use the wsadmin tool to manage a |
| Deployment manager contains the MASTER | | | | WebSphere Application Server V6.1 installation. This |
| configuration and application files. Any changes made | | | | tool uses the Bean Scripting Framework (BSF), which |
| at node agent or server level are local and will be | | | | supports a variety of scripting languages to configure |
| overridden by the MASTER configuration at the next | | | | and control your WebSphere Application Server |
| synchronization. The administrative console and | | | | installation. The wsadmin launcher makes |
| wsadmin are still the two ways that the environment | | | | administrative objects available through language |
| is administered. However, take note that these tools | | | | specific interfaces. Scripts use these objects for |
| now talk to the deployment manager and NOT to | | | | application management, configuration, operational |
| the application servers directly. The communication of | | | | control, and for communication with MBeans running |
| these commands flows from the tools to the | | | | in WebSphere server process. Wsadmin acts as an |
| deployment manager to the node agents, to the | | | | interface to Java objects for access by scripts. |
| application servers. This allows administration of | | | | Wsadmin uses the same interface (through JMX) as |
| multiple nodes (each possibly containing multiple | | | | the administrative console to make configuration |
| application servers) from a single focal point (the | | | | changes and control servers |
| deployment manager). | | | | There a many levels that are involed in security an |
| There is ONE main repository for the configuration | | | | environment. WebSphere only provides part of the |
| files within a cell, and those are associated with the | | | | total security that needs to be applied. Things like file |
| deployment manager. All updates to the configuration | | | | system security still need to be taken into account to |
| files should go through the deployment manager. You | | | | protect things like your configuration files and |
| will see in a moment how this process works. You | | | | keyrings. Operating System Security - The security |
| should be very careful in connecting to an application | | | | infrastructure of the underlying operating system |
| server directly with wsadmin or the administrative | | | | provides certain security service to the WebSphere |
| console as any changes that are made to the | | | | Security Application. This includes the file system |
| configuration files are only temporary, they will be | | | | security support to secure sensitive files in |
| overwritten with the configuration files from the | | | | WebSphere product installation. The WebSphere |
| MASTER files. | | | | system administrator can configure the product to |
| Web Server custom plugin-cfg.xml | | | | obtain authentication information directly from the |
| Web server definitions are created to allow the | | | | operating system user registry, for example the NT |
| mapping of J2EE enterprise applications to specific | | | | Security Access Manager. |