Wednesday, October 31, 2012

My Summary of WAS

Plugin:

*******
Plugin is a glue between web server & application server. The primary responsibility of the plugin is to forward the HTTP requests to application server.

'so' library or 'dll' files are the binary files according to win or unix which are configured to perform this job.

HTTP Transport:  Is a component of WAS that does the job of HTTP Server (Internal HTTP Server)


Plugin Configuration:  Plugin routes the requests based on the configuration file. Plugin-cfg.xml is the configuration file which contain various configuration elements. The Most Important of them are:
   (CLP - SVUR) -  C - L - P - SC - VH - UR - RO

Config element:
Contain imp attribs like 'Refresh Interval' for checking updates in cfg file, and other params
Log Element:
Is used to debug or analyse the issue by decrease or increase log level (Trace,Error, Debug,Detail)
Error is the default only errors, Trace for all steps, Debug for critical steps, Detail for all information
Property Element:
Is used to configure the ESI (Edge side include) params like esiEnable for processor(True/false), 
          esiCache etc.
Server Cluster: 
This is important part of config where the load balance weight, algorithm, server clone ID, other details.
If you remove the member from Primary Server tag, the member will not receive further requests.
<ServerCluster CloneSeparatorChange="false"
        LoadBalance="Round Robin" Name="Cluster1"
        PostSizeLimit="10000000" RemoveSpecialHeaders="true" 
        RetryInterval="60">
<Server
CloneID="BA36BEC1EB243D8B000000E4000000030926301B"
            ConnectTimeout="0" ExtendedHandshake="false"
            LoadBalanceWeight="2" MaxConnections="0"
            Name="SY1_ClusterMember1" WaitForContinue="false">
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9084" Protocol="http"/>
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
<Property Name="Keyring" value="/WebSphere/V6R0M0/DeploymentManager/etc/
            plugin-key.kdb"/>
<Property Name="Stashfile" value=""/WebSphere/V6R0M0/DeploymentManager/etc/
            plugin-key.sth"/>
<Property Name="certLabel" Value="selfsigned"/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="Server Name="SY1_ClusterMember1"/>
<Server Name="Server Name="SY1_ClusterMember2"/>
</PrimaryServers>
</ServerCluster>

Virtual Host Group Element:
A group of virtual host names that will be specified in the HTTP Host header. Enables you  
 to group virtual host definitions together that are configured to handle similar types of requests.

             <VirtualHostGroup Name="Hosts">
             <VirtualHost Name="www.x.com"/>
             <VirtualHost Name="www.x.com:443"/>
             <VirtualHost Name="*:8080"/>
             </VirtualHostGroup>


URI Group Element:
 A group of URI (virtual path) that will be specified on the request headers, that should be supported
       by the application server.

       <UriGroup Name="Uris">
       <Uri Name="/servlet/snoop"/>
        <Uri Name="/webapp/*"/>
        <Uri Name="*.jsp"/>
        </UriGroup>

Route Element:
A request routing rule by which plugin will understand whether request should be handled.
             <Route VirtualHostGroup="Hosts" UriGroup="Uris" ServerCluster="servers/>

*********
Session Management in WAS:

A user request is received from the HTTP Server is returned with a session ID.

JsessionID is the default session variable used to track the state of the http user.  JSESSIONID contains the details of the user request and server information where the state is maintained.

Session management configuration cab be done at Application Server Layer, Application Layer(.Ear), Module Layer( Web Module).

If it performed at the application Layer then it is common for all the applications in the server. If it is performed at the application layer then it is default for all module in the application. If it is done at module level then it is only related to web module.

Path for Server Level:
1) Server -> Server Type -> WAS ->
2) Click on the Application server
3) Container Setting in the config tab
4) Session Management

Path for Application Level:

1) Application -> Application Type -> Enterprise app
2) Application Name -> Web Module Propagate -> Config Tab
3) Session Management


Path for Module Level:

1) Application -> Application Type -> Enterprise app
2) Application Name -> Module Section
3) Manage Modules ->  Web Module -> Additional properties
3) Session Management


Other Session Management Properties:


 Session Tracking Mechanism:
   SSL Session Identifier
   Cookies (Mostly Used)
   URL rewriting
Max in Memory Session Count
  For our app it is 4000
Session Time-out
  For our app it is 30 mins

********

New Features of WAS 7:

http://www.ibm.com/developerworks/websphere/library/techarticles/0809_alcott/0809_alcott.html?S_TACT=105AGX10&S_CMP=LP


Intelligent provisioning: (Runtime Provisioning)
        which selects only the run time function needed for an application, reducing both memory footprint and
        application server startup time.
        For example if you don't need EJB COntainer, SIP Container it will not load the same.

Administrative agent:
          Flexible management: Using administrative agent now you can control various base and other servers.  
         The admin agent only provides management of these application servers (and their applications) -- it
         does not provide for clustering and failover
 
         For clustering and failover and centralized application management, you still need WebSphere
        Application Server Network Deployment.

Job manager:
The job manager in Network Deployment addresses the limitations inherent in the current
        management architecture by adopting a loose management coupling architecture: rather than
        synchronously controlling a number of remote endpoints (node agents), the job manager coordinates
        management across a group of endpoints by providing an asynchronous job management capability
       across a number of nodes

Centralized installation
Network Deployment also adds the capability to perform centralized installation from the deployment manager to remote nodes.

Business level applications:
Is a the notion of an "application" beyond J2EE™. Here this can be of value include those where an
        application:
a) Contains additional libraries, or non-Java EE artifacts.
b) Includes artifacts that run on heterogeneous (WebSphere and non-WebSphere) run times.
Auditing:
Another security enhancement is the option to generate security auditing records of WebSphere
       Application Server administrative actions. These actions can be security configuration changes, key
       and certificate management, access control policy changes, bus and other system resources
       management, and so on. This feature enables you to hold administrative users accountable for
      configuration and run time changes.

*********

Various Profile Types:
ADJACCS ( ADJACCS)

App  Server (Independent Server)
Dmgr ( provides management of multiple servers in cluster)
Job Manager ( Provides mgmt of AppSrv,Dmgr, Admin Agent,)
Admin Agent (Provides Management capability for multiple standalone servers)
Custom (Managed) - Creates & federates a node)
Cell - Creates two profiles Dmgr and a federated App Srv
Secure Proxy - Provides a secure proxy  for DMZ zone


*********
Logging & Tracing:
   Diagnostic Trace: Provide detailed information about how the application server components run within
   this managed process.
JVM Logs: 
   Systemout and SystemErr are the logs files for obtaining high level information on what's happening in
   JVM.
Process Logs:
  This are native logs used for obtaining further information on JVM details like heap size, what code is
   invoked etc.
IBM Service Logs:

******

Important Ports:

     LDAP - 636, 389
     Boostrap - 2809
     SOAP - 8879
     RMI - 9809
     admin host - 9060/9443


Web Services:
Web-services are self contained, modular applications that can be described, published, located and invoked remotely or over n/w.  Web services perform encapsulated business function.

SOAP protocol is used for webservices. It is XML based protocol which allow application exchange information over http protocol.

Deployment Descriptor:
Is again XML based file that describes how to deploy a module or application by specifying the configuration details and container options in it.

Native Memory:
    Total RAM - Max Java Heapsize - Sys Internals

Security:
    LTPA  -> Light Weight third party authentication
    Security -> User Registry -> LDAP or Advance LDAP / Federated / Custom Repository

Virtual Hosts:
      Running multiple websites on one system.
      Name Based
      IP Based
   
      www.chrysler.com


HA Manager:

   High Availability is a component of WAS which  provides high availability of  singleton services to other  
   WAS Components. This runs on every WAS Process.
   Path:
   Select ' HA for Persistance Services' option on the cluster definition.

   HA of Singleton Services - Bulletin board for exchange state data b/n processes.
   DRS (Data Replication Service) does the job of  Memory to Memory Replication.

SIB Service Integration Bus:

 Adding a cluster on a member of SIB results in creation of Single Message Engine.
These Messaging engine will start in the first available services and if becomes unavailable it fail over to another member.

Silent Installation of WAS:

install.sh -option <responsefilepath> -silent

It contains details of licence agreement, which should be set to true.
Non root install limitation
Pre-requisite check - Yes ( you can turn this to on)
file permission checking
Installation Type
Administration security - username/pwd
Installtion location site/ibm/was
Profile Settings

XML Configuration files of WAS:

Cell Level XML:
  resources.xml (cell scope environment resources including jdbc, java mail, url end point)
  security.xml ( all security data including user id pwd)
  virtualhost.xml
  variables.xml  - contain cell level was variables

Node Level XML:
 Location ( <WAS Profile>/Config/Cell/CellName/Node/<NodeName>/
 variable.xml - contain all node level variables like log path etc
 serverindex.xml - specifies all the ports used by the server on the node

Server Level XML:
 Location <WAS Profile Root>/Config/Cells/CellName/Node/Nodename/Server/ServerName
 variable.xml - to change logs etc
 resource.xml - server scope resources
 server.xml - Heapsize etc

WAS Versioning:
  Major Version ->7.1
  Refresh Pack  -> after Major version -> 7.1.<Version>
  Fix Pack -> after Refresh Pack -> 7.1.1.<Fix Pack>
 
  Fix pack only fixes / Refresh Pack some new functionality + fixes/
  For every issue reported IBM raise a APAR(BUG ID kind) for which they will release interim fix. Which
  will go into next Fix pack.

JDBC Driver Types:

  thin client - type 4 -
  thick client - native api based type 1

Min System Configuration:
 512MB/1GB Recommended,
 WIN, AIX, Solaris, Linux
 Webserver - Apache, IHS, IIS, SJWS, Lotus Domino
 DB - Db2, Cloudscape Derby, Oracle, Sybase, MSSQL

********

No comments:

Post a Comment