Add Your Heading Text Here

1-Objective :

To assist the client to chose the best application server by compromising between Oracle Weblogic Server and Apache Tomcat Server .

2-Client Current Applications  :

The client has the following application / databases :

Oracle Database

Oracle APEX

Oracle ORDS

3-Required Parameters to Collect :

The following parameters are required in order to decide the most compatible application server to the client environment .

Metric

 

Question Description / Reference
Assessing Your Application Performance Objectives Gather information about the level of activity expected on your server:

 

1- anticipated number of users
2 – number of requests
3 – acceptable response time
4 – preferred hardware configuration 
Database Server Capacity

and

User Storage Requirements

How well-designed is the user application? 1- Typically, a good application’s database requires hardware three to four times more powerful than the application server hardware.
2-It is good practice to use a separate machine for your database server.
3-if you are unable to maintain Application Server CPU usage in the 85 to 95 percent range. This indicates that Application Server is often idle and waiting for the database to return results. With load balancing in a cluster, the CPU utilization across the nodes should be about even 
Database Current Config It is advisable to review the oracle database AWR report during the peak hours / application performance bottlenecks AWR : Auto Workload Repository is an oracle DBA tool that summarizes the DB / app performance and highly consuming sql statements by the application
Network Load Is the bandwidth sufficient?

Application Server requires enough bandwidth to handle all connections from clients.

 To determine whether you have enough bandwidth in a given deployment, look at the network tools provided by your network operating system vendor. In most cases, including Windows NT, Windows 2000, and Solaris, you can inspect the load on the network system. If the load is very high, bandwidth may be a bottleneck for your system.
Concurrent Sessions How many transactions must run concurrently?

 

Determine the maximum number of concurrent sessions?

For each session, you will need to add more RAM for efficiency. Oracle recommends that you install a minimum

of 256 MB of memory for each Application Server installation that will be handling more than minimal capacity.

SSL Connections and Performance What is The number of SSL connections required out of the total number of clients required? SSL involves intensive computing operations. When supporting the cryptography operations in the SSL protocol.
Distributed Naming

 

Is Distributed Naming required
Session Handling

 

Is session Handling required -Which session is related to which client .

-Detecting the start of the session

-Setting and Getting Session Name/Value Attributes

 

Lookup services

 

Is lookup Services required The lookup services allow JMX technology clients to find and connect to connector servers that have registered with the lookup services.
RMI and Server Traffic What types of server traffic do the clients generate? The RMI (Remote Method Invocation) is an API that provides a mechanism to create distributed application in java. The RMI allows an object to invoke methods on an object running in another JVM.

The RMI provides remote communication between the applications using two objects stub and skeleton.

RMI can use HTTP tunneling to allow RMI calls to traverse a firewall. RMI tunneled through HTTP often does not

Programmatic and Web-based Clients What are the Types of Clients connecting to Application Server (Http Application, Desktop Applications )? The stateless nature of HTTP requires that the server handle more overhead than is the case with programmatic clients. However, the benefits of HTTP clients are numerous, such as the availability of browsers and firewall compatibility, and are usually worth the performance costs.

 

Programmatic clients are generally more efficient than HTTP clients because T3 does more of the presentation work on the client side. Programmatic clients typically call directly into EJBs while Web clients usually go through servlets. This eliminates the work the server must do for presentation. The T3 protocol operates using sockets and has a long-standing connection to the server.

Clustered Configurations Is your deployment configured for a cluster? Clusters greatly improve efficiency and failover. Customers using clustering should not see any noticeable

performance degradation. Several Application Server deployments in production involve placing a cluster of WebLogic Server instances on a single multiprocessor server.

Server Migration Are your servers configured for migration? For capacity planning in a production environment, keep in mind that server startup during migration taxes

CPU utilization.

Firewall Is it required to have firewall?

Do you have a firewall currently , if yes Where is it installed

 

EJB , Servlets Is  EJB , Servlets used ?

 

EJB : Enterprise Java Beans
HTTP/ FTP Is HTTP used?

Is FTP used

 

 

4-Reference Features :

Please check the comparison between Weblogic and Tomcat Servers for your reference:

Weblogic Tomcat
Definition Weblogic has different features apart from being a web server and handles Http services, distributed naming, session handling, transaction management, and lookup services. Tomcat can be used as an HTTP server and also supports JSP and Servlet-based web applications.
License Weblogic is licensed and requires to buy the license to use for commercial purposes. Tomcat is free and open-source and can be used for free commercially
Supporting

Features

Weblogic Support EJB (Enterprise Java Beans) and other features Tomcat does not support EJB (Enterprise Java Beans)
Server Type Weblogic is an application server Tomcat is a web server type
Transaction

Management

Transaction Manager an application that controls the coordination of transactions over one or more resources. Transaction management can be handled in Weblogic Transaction Manager an application that controls the coordination of transactions over one or more resources. Transaction management cannot be handled in Tomcat
HTTP/ FTP Weblogic supports HTTP and FTP as well Tomcat supports the only HTTP

 

 

5-References:

 

-Oracle® Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server 12c (12.2.1.3.0) E80416-03

 

-Java Platform, Standard Edition Java Management Extensions Guide

Release 13 F18416-01

Related Articles