1 Performance Optimization in Java/J2EE

Size: px
Start display at page:

Download "1 Performance Optimization in Java/J2EE"

Transcription

1 1 Performance Optimization in Java/J2EE 1.1 Java Server Technology (J2EE) Fundamentals Overview To reduce costs and fast-track enterprise application design and development, the Java 2 Platform, Enterprise Edition (J2EE ) technology provides a component-based approach to the design, development, assembly, and deployment of enterprise applications. The J2EE platform offers a multi-tiered distributed application model, the ability to reuse components, integrated Extensible Markup Language (XML)-based data interchange, a unified security model, and flexible transaction control. The J2EE platform specifies technologies to support multi-tier enterprise applications. These technologies fall into three categories: component, service, and communication. The component technologies are those used by developers to create the essential parts of the enterprise application, namely the user interface and the business logic. The component technologies allow the development of modules that can be reused by multiple enterprise applications. The component technologies are supported by J2EE platform's system-level services. These system-level services simplify application programming and allow components to be customized to use resources available in the environment in which they are deployed Component Technologies A component is an application-level software unit. In addition to JavaBeans components, which are part of the J2SE platform, the J2EE platform supports the following types of components: applets, application clients, Enterprise JavaBeans (EJB )components, Web components, and resource adapter components. Applets and application clients run on a client platform, while EJB, Web, and resource adapter components run on a server platform Containers All J2EE components depend on the runtime support of a system-level entity called a container. Containers provide components with services such as lifecycle management, security, deployment, and threading. Because containers manage these services, many component behaviors can be declaratively customized when the component is deployed in the container. For example, an application component provider can specify an abstract name for a database that an Enterprise JavaBeans component needs to access, and a deployer will link that name with the information (such as a user name and password) needed to access the database in a given environment. 1

2 Web Component Containers Web components are hosted by servlet containers, JSP containers, and Web containers. In addition to standard container services, a servlet container provides the network services by which requests and responses are sent. It also decodes requests and formats responses. All servlet containers must support HTTP as a protocol for requests and responses; they may also support other request-response protocols such as HTTPS. A JSP container provides the same services as a servlet container. Servlet and JSP containers are collectively referred to as Web containers EJB Component Containers Enterprise beans are hosted by an EJB container. In addition to standard container services, an EJB container provides a range of transaction and persistence services and access to the J2EE service and communication APIs. 1.2 Garbage Collection Overview In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory used by objects that will never be accessed again by the application. 2

3 Before the garbage collection is explained, it is necessary to we understand the how an object typically goes through most of the following states between the time it is allocated and the time its resources are finally returned to the system for reuse. Created In use (strongly reachable) Invisible Unreachable Collected Finalized De-allocated The basic principle of how a garbage collector works is: Determine what data objects in a program will not be accessed in the future Reclaim the resources used by those objects GC Benefits Garbage collection frees the programmer from manually dealing with memory allocation and de-allocation. As a result, certain categories of bugs are eliminated or substantially reduced: Dangling pointer bugs, which occur when a piece of memory is freed while there are still pointers to it, and one of those pointers is used. Double free bugs, which occur when the program attempts to free a region of memory that is already free Types of Garbage Collection Mark-Sweep-Compact GC is then done in three phases: mark, sweep, and optionally compaction. We call this a stop-the-world (STW) collection, because all application threads are stopped while garbage is collected. IBM JVM implementation adapts this algorithm for the garbage collection Generational A generational GC divides objects into generations and, on most cycles, will place only the objects of a subset of generations into the initial set. Furthermore, the runtime system maintains knowledge of when references cross generations by observing the creation and overwriting of references. When the garbage collector runs, it may be able to use this knowledge to prove that some objects in the initial white set are unreachable without having to traverse the entire reference tree. SUN Hotspot Java adapts this algorithm for the garbage collection 1.3 How to resolve Memory issues 3

4 The cost of memory leaks is significant and is often associated directly with production down time, or a slipped deployment schedule. Unfortunately, the costs of appropriate test solutions are also significant, and customers are often unwilling -- or unable -- to invest the resources necessary There are four common categories of memory usage problems in Java: Java heap memory leaks Heap fragmentation Insufficient memory resources Native memory leaks Reason for Memory Leaks In general, a Java heap memory leak results when an application unintentionally (due to program logic error) holds on to references to objects that are no longer required. These unintentional object references prevent the built-in Java garbage collection mechanism from freeing the memory used by these objects. Common causes for these memory leaks are: Insertion without deletion into collections Unbounded caches Un-invoked listener methods Infinite loops Too many session objects Poorly written custom data structures Complexity of finding Memory Leak There are a number of problems that cause memory leaks to be particularly troublesome for System Administrators in the production environment: Traditional Java memory leak root cause detection techniques have significant performance burdens and may not be suited for use in production environments. These techniques usually include heap dump analysis, attaching JVMPI (Java Virtual Machine Profiler Interface) or JVMTI (Java Virtual Machine Tools Interface) agents, or the use of byte code insertion to track insertions and deletions into collections. Traditional redundancy methods such as clustering can only help to a certain extent. Memory Leaks will propagate throughout cluster members. An affected application server's response rate slows workload management techniques. This can cause requests to be routed to healthier servers and result in coordinated application server crashes Wrong ways of handling the memory Leaks The following are the ad-hoc way of overcoming the Memory Leaks in the production though it is not helping solve the memory problems as they are concluded as wrong ways of mitigating the memory leak issues: Increasing the Upper limit of Heap Size Increasing the JVM server process in the cluster. Auto restart of JVM process frequently 4

5 1.3.2 Resolving Memory Leaks in IBM JVM Step 1 Collection of Heap Dump Once a memory leak has been detected and heap dumps have been generated, they can be transferred outside the production server and into a problem determination machine for analysis. Note: IBM Java supports the automated Heap Dump generation Step 2 Analyzing the Heap Dump Memory Dump Diagnostic for Java (MDD4J) is an offline heap dump analysis tool that aids in the process of determining the root cause of the memory leak. The analysis mechanism identifies suspected leaking data structure classes and packages. This identification enables the Performance Engineer to narrow down the root cause of the memory leak to a few component applications Step 3 Profiling the affected application transactions Once the memory leak related components are identified, then Developer can do set up the Dynamic profiling environment set up using JProfiler or JProbe to analyze the affected application transactions with those components. Profiling memory snap shot will help to pinpoint the faulty source code shorter time. Some time Developer can be able to find by manually to find the faulty source code Resolving Memory Leaks in SUN JVM Step 1 Collection of Heap Dump Option 1 Command line Option By setting the parameter -XX:+HeapDumpOnOutOfMemoryError option, Heap dump will be generated when JVM detects the out-of-memory error Option 1 HPROF Profiler The HPROF profiler agent can create a heap dump while the application is executing. The following is an example of the command line: $ java -agentlib:hprof=file=snapshot.hprof,format=b application If the VM is embedded or is not started using a command line launcher that allows additional options to be provided, then it might be possible to use the JAVA_TOOLS_OPTIONS environment variable so that the -agentlib option is 5

6 automatically added to the command line. See A.2 JAVA_TOOL_OPTIONS Environment Variable for further information on this environment variable. Once the application is running with HPROF, a heap dump is created by pressing Ctrl- \ or Ctrl-Break or kill -3 <pid> (depending on the platform) on the application console. When the signal is received, a heap dump is created; in the above example the file snapshot.hprof is created Option 1 jmap Utility A heap dump can also be obtained using the jmap utility. The following is an example of the command line: $ jmap -dump:format=b,file=snapshot.jmap process-pid Regardless of how the Java VM was started, the jmap tool will produce a head dump snapshot, in the above example in a file called snapshot.jmap. The jmap output files should contain all the primitive data, but will not include any stack traces showing where the objects have been created Option 1 JConsole Utility Another way to obtain a heap dump is with the JConsole utility. In the MBeans tab, select the HotSpotDiagnostic MBean, then the Operations display, and choose the dumpheap operation Step 2 Analyzing the Heap Dump The heap dump will be analyzed using the tool called jhat (Java Heap Analysis Tool). The jhat command parses a java heap dump file and launches a webserver. jhat enables you to browse heap dumps using your favorite webbrowser. jhat supports pre-designed queries (such as 'show all instances of a known class "Foo"') as well as OQL (Object Query Language) - a SQL-like query language to query heap dumps. Help on OQL is available from the OQL help page shown by jhat. With the default port, OQL help is available at Step 3 Profiling the affected application transactions Once the memory leak related components are identified, then Developer can do set up the Dynamic profiling environment set up using JProfiler or JProbe to analyze the affected application transactions with those components. Profiling memory snap shot will help to pinpoint the faulty source code shorter time. Some time Developer can be able to find by manually to find the faulty source code 6

7 1.4 How to resolve Thread Lock issues Many of today's Java applications take advantage of the language's ability to support concurrent programming through the use of threads. Multiple threads can potentially share the same data objects, but if the part of your application that controls these threads is designed poorly, you may experience lock contention and correspondingly poorer performance. In multithreaded applications, for example, if multiple threads access the same resource for reading and writing, thread synchronization problems can occur. If one thread attempts to read from a file whilst another is writing to it, the data may become corrupted. To resolve this problem, the Java language allows a thread to acquire an exclusive lock on objects, preventing any other thread accessing it. Once the thread has finished with the object, it releases it so that other threads can then gain access. However, this mechanism can cause high levels of contention if applications aren't designed with care. Lock contention occurs when a lock is currently in use and another thread attempts to acquire it by another thread. High levels of contention can occur on locks that are frequently obtained, held for a long time, or both. A highly contended lock (one in which many threads try to gain access) can become a bottleneck in the system, as each running thread will pause its execution until the lock it requires becomes available, limiting application performance Resolving Thread Locks in IBM JVM IBM Thread and Monitor Dump Analyzer for Java Technology IBM Thread and Monitor Dump Analyzer for Java Technology analyzes javacore and diagnoses monitor locks and thread activities in order to identify the root cause of hangs, deadlocks, and resource contention or monitor bottlenecks. This technology analyzes each thread information and provides diagnostic information, such as current thread information, the signal that caused the javacore, Java heap information (maximum Java heap size, initial Java heap size, garbage collector counter, allocation failure counter, free Java heap size, and allocated Java heap size), number of runnable threads, total number of threads, number of monitors locked, and deadlock information IBM Thread and Monitor Dump Analyzer for Java Technology compares each javacore and provides process ID information for threads, time stamp of the first javacore, time stamp of the last javacore, number of garbage collections per minute, number of allocation failures per minute, time between the first javacore and the last javacore, number of hang suspects, and list of hang suspects. IBM Thread and Monitor Dump Analyzer for Java Technology also compares all monitor information in javacore and detects deadlock and resource contention or monitor bottlenecks, if there are any IBM Lock Analyzer for Java The IBM Lock Analyzer for Java (JLA), a new tool available from alphaworks that runs on any platform running an IBM-supplied Java SDK or JRE, version 5.0 or above, performs lock 7

8 analysis on a live application to highlight thread activity and provides insight into how often locks are contended. This view can help with the resolution of lock contention problems and performance issues. The JLA runs alongside an existing Java application and gathers all of that application's lock information. Each lock is recorded along with details about it, such as how long it is held, whether it contends, and the percentage of the time it blocks threads trying to obtain it. The tool consists of a runtime library that must be loaded at startup with the application you wish to monitor and a front-end graphical user interface that displays the results and performs analysis Resolving Thread Locks in SUN JVM Collecting Thread Dump in Command Prompt The Thread dump from SUN JVM can be obtained by following techniques Ctrl-Break in Windows If Application console is available Kill -3 <pid> in the UNIX/Linux platform Collecting Thread Dump using jstack If the process is running as back ground process or JVM output is directed to an unknown location, then the jstack utility can be used to obtain the stack thread by calling jstack -<pid> Thread dump can be obtained from the core dump by using the command $ jstack $JAVA_HOME/bin/java core 1.5 Clustering Vs. Load Balancing Need of High Availability Enterprise web portal applications must provide scalability and high availability (HA) for web services in order to serve thousands of users hitting a mission-critical server application site. Scalability is the system's ability to support increasing numbers of users by adding additional servers to the cluster. High availability is basically providing redundancy in the system. If a cluster member fails for some reason, another member in the cluster can transparently take over the web requests. Deploying a web portal application in a cluster environment gives us the ability to achieve scalability, reliability, and high availability required by the web portal application. Basically, the main goal of clustering is to prevent any web site outage problems occurring due to a Single Point of Failure (SPoF) in the system. Large-scale system design provides mission-critical services to ensure minimal downtime and maximum scalability in an enterprise application environment. Rather than run a single server, multiple cooperating servers are run. To scale, you should include additional machines within the cluster and to minimize downtime, you should make sure every component of the cluster is redundant. The main ingredient of a large-scale system is clustering, which includes load balancing, fault tolerance, and session state persistence features. 8

9 Usually for web applications, a hardware- or software-based load balancer sits in front of the application servers within the cluster. These load balancers are used to distribute the load between the cluster nodes by redirecting web traffic to an appropriate cluster member, at the same time detecting any server failures. For the any mission-critical enterprise application, Clustering and Load balancing should be combined together to achieve the High Availability and Scalability Clustering A cluster is defined as a group of application servers that transparently run a J2EE application as if it were a single entity. There are two methods of clustering: vertical scaling and horizontal scaling Vertical scaling Vertical scaling is achieved by increasing the number of servers running on a single machine, whereas horizontal scaling is done by increasing the number of machines in the cluster. With vertical scaling, the machine's processing power, CPU usage, and JVM heap memory configurations are the main factors in deciding how many server instances should be run on one machine (also known as the server-to-cpu ratio) Horizontal scaling Horizontal scaling is more reliable than vertical scaling, since there are multiple machines involved in the cluster environment, as compared to only one machine. Load Balancing Fault Tolerance There are two levels of fail over capabilities typically provided by clustering solutions: Request-level fail over If one of the servers in the cluster goes down, all subsequent requests should be redirected to the remaining servers in the cluster. This involves using a heartbeat mechanism to keep track of the server status and to avoid sending requests to the servers that are not responding. In our cluster setup, a Tomcat instance acting as a load balancer takes care of request level fail over by forwarding web requests to another node in the cluster Session-level fail over A web client can have a session that is maintained by the HTTP server. In session-level fail over, if one of the servers in the cluster goes down, another server in the cluster should be able to carry on with the sessions that were being handled by the first server, with minimal loss of continuity. This involves replicating the session data across the cluster. A Tomcat cluster with session replication capability takes care of session-level fail over. 9

10 1.5.3 Load Balancing Load balancing (also known as high availability switch over) is a mechanism where the server load is distributed to different nodes within the server cluster, based on a load balancing policy. Rather than execute an application on a single server, the system executes application code on a dynamically selected server. When a client requests a service, one (or more) of the cooperating servers is chosen to execute the request. Load balancers act as single points of entry into the cluster and as traffic directors to individual web or application servers. There are many different algorithms to define the load distribution policy, ranging from a simple round robin algorithm to more sophisticated algorithms used to perform the load balancing. Some of the commonly used algorithms are: Round-robin Random Weight-based Minimum load Last access time Programmatic parameter-based (where the load balancer can choose a server based upon method input arguments) 1.6 Best Practices to achieve the performance in J2EE applications Code Optimization Techniques Use of StringBuffer while string concatenation Use StringBuffer instead of String Operator + when a large amount of string concatenation is being done to avoid the creation of many small, temporary objects Caching the JNDI InitialContext and EJB Home interfaces For increased performance in applications that use a large number of Entity Beans, consider caching the JNDI InitialContext and EJB Home interfaces. This optimization should be encapsulated within the EJB business object factory so there is no effect on business object client code Avoid Stateful session bean Be sure to remove instances of stateful container overhead and processing Choose right XML Parser If you use XML extensively throughout your application and performance is a concern, choose the most efficient parsing method available to you that meet your requirements. DOM parsers are usually the slowest due to the large number of objects instantiated underneath the covers and their generic nature. If your application simply needs to parse through a document once and deal with the data right away, the SAX parser is much more efficient. 10

11 Binding frameworks such as JAXB will also be more efficient because they know exactly what they are looking for in the XML or what XML tags they need to create Choose Asynchronous processing as an alternative Consider the use of asynchronous processing to alleviate performance concerns in applications with semi-real-time updates, multiple external applications that can be invoked in parallel, or work that can be partitioned into segments. Use Message-Driven Beans and JMS to implement parallel processing in a J2EE container. Asynchronous processing can also be used to increase the perceived performance of an application Tuning configuration Once the proper Performance Engineering engagement is carried out to fix performance bottlenecks within the application, tuning activities should be explored to attain the maximum performance from the J2EE application server. Commonly tuning can be done in the following areas of J2EE resources counters: JVM Heap o Heap Limit Settings o Garbage Collection Strategies Default Throughput Collector Adaptive Concurrent Sweeping Worker or Execute Thread o Pool size o Thread Pool Queue length EJB o Pool Size o Cache Size o Refresh Cache Time DB Connection o Pool Size o Connection Timeout o Statement Execution Timeout 1.7 Profiling & Monitoring Tools Profiling Tools The Profiling tools can mainly used in the development / test environment where to find the costly method invocation or finding root cause of the memory leaks. There are lots of commercially and open source tools available. The following are the some of the popular tools: JProfiler JProbe etc 11

12 The profiling activity serves the two main purposes that in the following: CPU Profiling This type of profiling is to find the CPU bottlenecks on the critical transactions due to the following possible reasons: Too many invocation of particular function(s) in the looping Narrowing the Costly methods that contributes maximum % of execution Memory Profiling This type of profiling is to find the memory on the critical transactions due to the following possible reasons: Too many creation of objects that are not used Narrowing the root cause of memory leaks by verifying counts of relevant set of variables that are associated with application transaction with explicit GC operation Monitoring Tools In the Java Server Technology ( J2EE), there are lots of monitoring tools that are available to monitor the J2EE server in production and test environment. Though the most of monitoring tools are fascinating to deploy and monitor in the production, they still consumes CPU and Memory foot prints. So System Administrator should have better H/W configuration to support those tools in the production servers. The J2EE monitoring tool internally uses the JMX Services to monitor the J2EE resource counters: JVM Heap Worker Thread pool Usage DB Connection Pools usage HTTP Session Count EJB Pool usage etc J2EE Resource Counters The following are the typical J2EE counters: Thread Pool Size DB Connection Pool IBM WAS Performance Monitoring Infrastructure It is formerly called as Tivoli Performance Viewer (TPV) and now it is fully integrated with IBM Web Sphere Application Server. 12

13 Custom BEA Web Logic Monitoring tool using MBean API Weblogic provides the MBean API that can be used to develop the custom Web Logic Monitoring tool CA-Wily Introscope Monitoring tool This tool is to monitor the popular J2EE application servers like IBM Websphere, Bea Weblogic application servers. This can be used in the production environment SUN JConsole for J2SE JConsole is used only to monitor the J2SE application. It does not monitor any J2EE application server Reference Designing Enterprise Applications with the J2EE Platform, Second Edition by Inderjeet Singh; Beth Stearns; Mark Johnson; the Enterprise Team Publisher: Prentice Hall Pub Date: March 25, 2002 Print ISBN-10: Print ISBN-13: Pages: 448 IBM Java Garbage Collection: SUN HotSpot Java Gargbage Collection Wikipedia How to resolve memory issue IBM Java dar.html How to resolve memory issue SUN Java How to resolve Thread lock in IBM Java 13

14 How to resolve Thread lock in SUN Java Clustering Vs.Loadbalancing Thread Lock IBM Java Thread Lock avoiding Monitoring JConsole 14

In the most general sense, a server is a program that provides information

In the most general sense, a server is a program that provides information d524720 Ch01.qxd 5/20/03 8:37 AM Page 9 Chapter 1 Introducing Application Servers In This Chapter Understanding the role of application servers Meeting the J2EE family of technologies Outlining the major

More information

Borland Optimizeit Enterprise Suite 6

Borland Optimizeit Enterprise Suite 6 Borland Optimizeit Enterprise Suite 6 Feature Matrix The table below shows which Optimizeit product components are available in Borland Optimizeit Enterprise Suite and which are available in Borland Optimizeit

More information

J2EE DIAGNOSING J2EE PERFORMANCE PROBLEMS THROUGHOUT THE APPLICATION LIFECYCLE

J2EE DIAGNOSING J2EE PERFORMANCE PROBLEMS THROUGHOUT THE APPLICATION LIFECYCLE DIAGNOSING J2EE PERFORMANCE PROBLEMS THROUGHOUT THE APPLICATION LIFECYCLE ABSTRACT Many large-scale, complex enterprise applications are now built and deployed using the J2EE architecture. However, many

More information

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 10.0 Document Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE

ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE Most application performance problems surface during peak loads. Often times, these problems are time and resource intensive,

More information

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express BEAWebLogic Server Introduction to BEA WebLogic Server and BEA WebLogic Express Version 10.0 Revised: March, 2007 Contents 1. Introduction to BEA WebLogic Server and BEA WebLogic Express The WebLogic

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Data Management in Application Servers. Dean Jacobs BEA Systems

Data Management in Application Servers. Dean Jacobs BEA Systems Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets

More information

J Optimizer 1.0 User Guide

J Optimizer 1.0 User Guide J Optimizer 1.0 User Guide Copyright 1994-2009 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights reserved. All brands

More information

IBM WebSphere Application Server V4.0. Performance. 10/02/01 Copyright 2001 IBM Corporation WS40ST11.prz Page 248 of of 28

IBM WebSphere Application Server V4.0. Performance. 10/02/01 Copyright 2001 IBM Corporation WS40ST11.prz Page 248 of of 28 IBM WebSphere Application Server V4.0 Performance Page 248 of 401 1 of 28 Performance Enhancements to WebSphere V4.0 Performance Enhancement Overview Dynamic Caching of Servlets/JSPs Performance Monitoring

More information

Diplomado Certificación

Diplomado Certificación Diplomado Certificación Duración: 250 horas. Horario: Sabatino de 8:00 a 15:00 horas. Incluye: 1. Curso presencial de 250 horas. 2.- Material oficial de Oracle University (e-kit s) de los siguientes cursos:

More information

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

Diagnostics in Testing and Performance Engineering

Diagnostics in Testing and Performance Engineering Diagnostics in Testing and Performance Engineering This document talks about importance of diagnostics in application testing and performance engineering space. Here are some of the diagnostics best practices

More information

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 J2EE: Best Practices for Application Development and Achieving High-Volume Throughput Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 Agenda Architecture Overview WebSphere Application Server

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

White Paper. Major Performance Tuning Considerations for Weblogic Server

White Paper. Major Performance Tuning Considerations for Weblogic Server White Paper Major Performance Tuning Considerations for Weblogic Server Table of Contents Introduction and Background Information... 2 Understanding the Performance Objectives... 3 Measuring your Performance

More information

WEBSPHERE APPLICATION SERVER

WEBSPHERE APPLICATION SERVER WEBSPHERE APPLICATION SERVER Introduction What is websphere, application server, webserver? WebSphere vs. Weblogic vs. JBOSS vs. tomcat? WebSphere product family overview Java basics [heap memory, GC,

More information

TUTORIAL: WHITE PAPER. VERITAS Indepth for the J2EE Platform PERFORMANCE MANAGEMENT FOR J2EE APPLICATIONS

TUTORIAL: WHITE PAPER. VERITAS Indepth for the J2EE Platform PERFORMANCE MANAGEMENT FOR J2EE APPLICATIONS TUTORIAL: WHITE PAPER VERITAS Indepth for the J2EE Platform PERFORMANCE MANAGEMENT FOR J2EE APPLICATIONS 1 1. Introduction The Critical Mid-Tier... 3 2. Performance Challenges of J2EE Applications... 3

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 version 1.0 July, 2007 Table of Contents 1. Introduction...3 2. Best practices...3 2.1 Preparing the solution environment...3

More information

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 Vendor: IBM Exam Code: 000-377 Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 Version: Demo QUESTION 1 An administrator would like to use the Centralized

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects

More information

Quickly Pinpoint and Resolve Problems in Windows /.NET Applications TECHNICAL WHITE PAPER

Quickly Pinpoint and Resolve Problems in Windows /.NET Applications TECHNICAL WHITE PAPER Quickly Pinpoint and Resolve Problems in Windows /.NET Applications TECHNICAL WHITE PAPER Table of Contents Executive Overview...1 Problem Resolution A Major Time Consumer...2 > Inefficiencies of the Problem

More information

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers 1. Introduction Applications are developed to support their business operations. They take data as input; process the data based on business rules and provides data or information as output. Based on this,

More information

Server and WebLogic Express

Server and WebLogic Express BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 9.0 Document Revised: July 22, 2005 Copyright Copyright 2005 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This

More information

X100 ARCHITECTURE REFERENCES:

X100 ARCHITECTURE REFERENCES: UNION SYSTEMS GLOBAL This guide is designed to provide you with an highlevel overview of some of the key points of the Oracle Fusion Middleware Forms Services architecture, a component of the Oracle Fusion

More information

J2EE Performance Tuning. Jayesh Patel Northern Virginia Java/BEA User Group January 11 th, 2005.

J2EE Performance Tuning. Jayesh Patel Northern Virginia Java/BEA User Group January 11 th, 2005. J2EE Performance Tuning Jayesh Patel Northern Virginia Java/BEA User Group January 11 th, 2005. Presenter s Bio. Jayesh Patel currently works on EDS s TWAI project and responsible for J2EE application

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

IBM WebSphere Application Server Network Deployment V7.0 Core Administration. Version: Demo

IBM WebSphere Application Server Network Deployment V7.0 Core Administration. Version: Demo IBM C2180-377 IBM WebSphere Application Server Network Deployment V7.0 Core Administration Version: Demo Question: 1 An administrator would like to use the Centralized Installation Manager (CIM) to install

More information

Oracle Java SE Advanced for ISVs

Oracle Java SE Advanced for ISVs Oracle Java SE Advanced for ISVs Oracle Java SE Advanced for ISVs is designed to enhance the Java based solutions that ISVs are providing to their enterprise customers. It brings together industry leading

More information

status Emmanuel Cecchet

status Emmanuel Cecchet status Emmanuel Cecchet c-jdbc@objectweb.org JOnAS developer workshop http://www.objectweb.org - c-jdbc@objectweb.org 1-23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability

More information

Chapter 6 Enterprise Java Beans

Chapter 6 Enterprise Java Beans Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used

More information

<Insert Picture Here> Application Grid: Oracle s Vision for Next-Generation Application Servers and Foundation Infrastructure

<Insert Picture Here> Application Grid: Oracle s Vision for Next-Generation Application Servers and Foundation Infrastructure Application Grid: Oracle s Vision for Next-Generation Application Servers and Foundation Infrastructure Paolo Ramasso Principal Sales Consultant Oracle Italy Business Imperatives

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

JVA-163. Enterprise JavaBeans

JVA-163. Enterprise JavaBeans JVA-163. Enterprise JavaBeans Version 3.0.2 This course gives the experienced Java developer a thorough grounding in Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional

More information

GlassFish v2.1 & Enterprise Manager. Alexis Moussine-Pouchkine Sun Microsystems

GlassFish v2.1 & Enterprise Manager. Alexis Moussine-Pouchkine Sun Microsystems GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems 1 Some vocabulary Cluster a group a homogenous GlassFish instances administered as a whole Load-Balancing a strategy and implementation

More information

Top Ten Enterprise Java performance problems. Vincent Partington Xebia

Top Ten Enterprise Java performance problems. Vincent Partington Xebia Top Ten Enterprise Java performance problems and their solutions Vincent Partington Xebia Introduction Xebia is into Enterprise Java: Development Performance audits a.o. Lots of experience with performance

More information

C IBM. IBM WebSphere Application Server Network Deployment V8.0 Core Administrati

C IBM. IBM WebSphere Application Server Network Deployment V8.0 Core Administrati IBM C9510-317 IBM WebSphere Application Server Network Deployment V8.0 Core Administrati Download Full Version : https://killexams.com/pass4sure/exam-detail/c9510-317 A. Configure an authentication proxy

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution: Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications

More information

Java performance - not so scary after all

Java performance - not so scary after all Java performance - not so scary after all Holly Cummins IBM Hursley Labs 2009 IBM Corporation 2001 About me Joined IBM Began professional life writing event framework for WebSphere 2004 Moved to work on

More information

Sun Java System Application Server 8.1: Administration & Deployment

Sun Java System Application Server 8.1: Administration & Deployment Sun Java System Application Server 8.1: Administration & Deployment Student Guide - Volume I IAS-4444 Rev A D62040GC10 Edition 1.0 D63846 Copyright 2006, 2009, Oracle and/or its affiliates. All rights

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

ORACLE WEBLOGIC SERVER 10g R3 ENTERPRISE EDITION

ORACLE WEBLOGIC SERVER 10g R3 ENTERPRISE EDITION ORACLE WEBLOGIC SERVER 10g R3 ENTERPRISE EDITION KEY FEATURES FEATURES High performance clustering and failover capabilities Low-overhead Java application monitoring and diagnostics Flexible download and

More information

ManageEngine Applications Manager 9. Product Features

ManageEngine Applications Manager 9. Product Features ManageEngine Applications Manager 9 Product Features Applications Manager - The Solution Applications Manager Monitors your entire IT infrastructure including applications, servers, databases, operating

More information

Java EE 7: Back-End Server Application Development

Java EE 7: Back-End Server Application Development Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Java EE 7: Back-End Server Application Development Duration: 5 Days What you will learn The Java EE 7: Back-End Server Application

More information

ITdumpsFree. Get free valid exam dumps and pass your exam test with confidence

ITdumpsFree.  Get free valid exam dumps and pass your exam test with confidence ITdumpsFree http://www.itdumpsfree.com Get free valid exam dumps and pass your exam test with confidence Exam : 310-090 Title : Sun Certified Business Component Developer for J2EE 1.3 Vendors : SUN Version

More information

Java Performance: The Definitive Guide

Java Performance: The Definitive Guide Java Performance: The Definitive Guide Scott Oaks Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface ix 1. Introduction 1 A Brief Outline 2 Platforms and Conventions 2 JVM

More information

BEAWebLogic. Platform. Introducing WebLogic Platform. Version 8.1 Document Date: July 2003 Part Number:

BEAWebLogic. Platform. Introducing WebLogic Platform. Version 8.1 Document Date: July 2003 Part Number: BEAWebLogic Platform Introducing WebLogic Platform Version 8.1 Document Date: July 2003 Part Number: 885-001002-003 Copyright Copyright 2005 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend

More information

Designing a Distributed System

Designing a Distributed System Introduction Building distributed IT applications involves assembling distributed components and coordinating their behavior to achieve the desired functionality. Specifying, designing, building, and deploying

More information

Course Content for Java J2EE

Course Content for Java J2EE CORE JAVA Course Content for Java J2EE After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? PART-1 Basics & Core Components Features and History

More information

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Object-Oriented Programming (OOP) concepts Introduction Abstraction Encapsulation Inheritance Polymorphism Getting started with

More information

Java Garbage Collection. Carol McDonald Java Architect Sun Microsystems, Inc.

Java Garbage Collection. Carol McDonald Java Architect Sun Microsystems, Inc. Java Garbage Collection Carol McDonald Java Architect Sun Microsystems, Inc. Speaker Carol cdonald: > Java Architect at Sun Microsystems > Before Sun, worked on software development of: >Application to

More information

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Oracle Transportation Management. Application Scalability Guide Release 5.5 Part No. E

Oracle Transportation Management. Application Scalability Guide Release 5.5 Part No. E Oracle Transportation Management Application Scalability Guide Release 5.5 Part No. E10856-04 February 2010 Oracle Transportation Management Application Scalability Guide, Release 5.5 Part No. E10856-04

More information

Adapter for Mainframe

Adapter for Mainframe BEA WebLogic Java Adapter for Mainframe Introduction Release 5.1 Document Date: August 2002 Copyright Copyright 2002 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software and documentation

More information

The team that wrote this redbook

The team that wrote this redbook Preface p. xix The team that wrote this redbook p. xix Comments welcome p. xxiii Overview of WebSphere Application Server V3.5 p. 1 What is WebSphere Application Server? p. 1 WebSphere Application Server

More information

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!   We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 0B0-105 Title : BEA8.1 Certified Architect:Enterprise Architecture Vendors

More information

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER Higher Quality Better Service! Exam Actual QUESTION & ANSWER Accurate study guides, High passing rate! Exam Actual provides update free of charge in one year! http://www.examactual.com Exam : 310-090 Title

More information

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D) Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 26 Java Enterprise (Part D) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo J2EE Application

More information

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version : SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific

More information

Bipul Sinha, Amit Ganesh, Lilian Hobbs, Oracle Corp. Dingbo Zhou, Basavaraj Hubli, Manohar Malayanur, Fannie Mae

Bipul Sinha, Amit Ganesh, Lilian Hobbs, Oracle Corp. Dingbo Zhou, Basavaraj Hubli, Manohar Malayanur, Fannie Mae ONE MILLION FINANCIAL TRANSACTIONS PER HOUR USING ORACLE DATABASE 10G AND XA Bipul Sinha, Amit Ganesh, Lilian Hobbs, Oracle Corp. Dingbo Zhou, Basavaraj Hubli, Manohar Malayanur, Fannie Mae INTRODUCTION

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Fusion Middleware 11g: Build Applications with ADF I Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC 330 - Spring 2013 1 Memory Attributes! Memory to store data in programming languages has the following lifecycle

More information

An Application for Monitoring Solr

An Application for Monitoring Solr An Application for Monitoring Solr Yamin Alam Gauhati University Institute of Science and Technology, Guwahati Assam, India Nabamita Deb Gauhati University Institute of Science and Technology, Guwahati

More information

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~ 1 Component: Szyperski s definition of a component: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can

More information

Rational Application Developer 7 Bootcamp

Rational Application Developer 7 Bootcamp Rational Application Developer 7 Bootcamp Length: 1 week Description: This course is an intensive weeklong course on developing Java and J2EE applications using Rational Application Developer. It covers

More information

Enhydra 6.2 Application Architecture. Tanja Jovanovic

Enhydra 6.2 Application Architecture. Tanja Jovanovic Enhydra 6.2 Application Architecture Tanja Jovanovic Table of Contents 1.Introduction...1 2. The Application Object... 2 3. The Presentation Object... 4 4. Writing Presentation Objects with XMLC... 6 5.

More information

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

ITERATIVE DEVELOPMENT: THE USE OF J2EE BEST PRACTICES

ITERATIVE DEVELOPMENT: THE USE OF J2EE BEST PRACTICES TUTORIAL: WHITE PAPER VERITAS Indepth for the J2EE Platform ITERATIVE DEVELOPMENT: THE USE OF J2EE BEST PRACTICES By Owen Taylor Of The Middleware Company 1 1. Overview... 3 2. Selecting Appropriate Tools...

More information

CMSC 330: Organization of Programming Languages. Memory Management and Garbage Collection

CMSC 330: Organization of Programming Languages. Memory Management and Garbage Collection CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC330 Fall 2018 1 Memory Attributes Memory to store data in programming languages has the following lifecycle

More information

PLATFORM TECHNOLOGY UNIT-5

PLATFORM TECHNOLOGY UNIT-5 1. Write in brief about the J2EE enterprise edition? Java is one of the most commonly used and mature programming languages for building enterprise applications. Java development has evolved from small

More information

ORACLG. Oracle Press. Advanced Tuning for. JD Edwards EnterpriseOne. Implementations

ORACLG. Oracle Press. Advanced Tuning for. JD Edwards EnterpriseOne. Implementations ORACLG Oracle Press Advanced Tuning for JD Edwards EnterpriseOne Implementations Foreword Acknowledgments Introduction... xv xvii xix 1 Outline of a Structured Tuning Methodology 1 Overview 3 Benchmarks

More information

C

C C9510-317 Passing Score: 800 Time Limit: 0 min Exam A QUESTION 1 A system administrator has successfully installed the WebSphere Application Server Network Deployment core product. The administrator then

More information

Garbage Collection. Hwansoo Han

Garbage Collection. Hwansoo Han Garbage Collection Hwansoo Han Heap Memory Garbage collection Automatically reclaim the space that the running program can never access again Performed by the runtime system Two parts of a garbage collector

More information

Hands-on Lab Session 9909 Introduction to Application Performance Management: Monitoring. Timothy Burris, Cloud Adoption & Technical Enablement

Hands-on Lab Session 9909 Introduction to Application Performance Management: Monitoring. Timothy Burris, Cloud Adoption & Technical Enablement Hands-on Lab Session 9909 Introduction to Application Performance Management: Monitoring Timothy Burris, Cloud Adoption & Technical Enablement Copyright IBM Corporation 2017 IBM, the IBM logo and ibm.com

More information

Administering the JBoss 5.x Application Server

Administering the JBoss 5.x Application Server Administering the JBoss 5.x Application Server JBoss Application Server (AS) is one of the most popular open source Java application server on the market. The latest release, JBoss 5, is a Java EE 5 certified

More information

WebSphere Performance

WebSphere Performance IBM WEBSPHERE WORKSHOP - LAB EXERCISE WebSphere 4.0 - Performance What This Exercise is About In this exercise you will look at some of the new performance features and tools available in WebSphere 4.0.

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC 330 Spring 2017 1 Memory Attributes Memory to store data in programming languages has the following lifecycle

More information

Run-Time Environments/Garbage Collection

Run-Time Environments/Garbage Collection Run-Time Environments/Garbage Collection Department of Computer Science, Faculty of ICT January 5, 2014 Introduction Compilers need to be aware of the run-time environment in which their compiled programs

More information

<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs

<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs Messaging Basics Built-in Best-of-Breed Messaging (JMS) Engine Years of hardening. Strong performance.

More information

WebSphere Application Server, Version 5. What s New?

WebSphere Application Server, Version 5. What s New? WebSphere Application Server, Version 5 What s New? 1 WebSphere Application Server, V5 represents a continuation of the evolution to a single, integrated, cost effective, Web services-enabled, J2EE server

More information

Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder

Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder 3/21/05 CS674 BGR 1 Web Applications Transactional processing

More information

Oracle WebCenter Portal Performance Tuning

Oracle WebCenter Portal Performance Tuning ORACLE PRODUCT LOGO Oracle WebCenter Portal Performance Tuning Rich Nessel - Principal Product Manager Christina Kolotouros - Product Management Director 1 Copyright 2011, Oracle and/or its affiliates.

More information

Java EE 6: Develop Business Components with JMS & EJBs

Java EE 6: Develop Business Components with JMS & EJBs Oracle University Contact Us: + 38516306373 Java EE 6: Develop Business Components with JMS & EJBs Duration: 4 Days What you will learn This Java EE 6: Develop Business Components with JMS & EJBs training

More information

Oracle WebLogic Server 12c: Administration I

Oracle WebLogic Server 12c: Administration I Oracle WebLogic Server 12c: Administration I Duration 5 Days What you will learn This Oracle WebLogic Server 12c: Administration I training teaches you how to install and configure Oracle WebLogic Server

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 WEBLOGIC SERVER DOMAINS SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Domain - concept and implementation. Content of a domain. Common domain types. Production versus

More information

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx Name: xxxxxx Email ID: xxxxxx Ph: xxxxxx Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE

More information

It Is a Difficult Question! The Goal of This Study. Specification. The Goal of This Study. History. Existing Benchmarks

It Is a Difficult Question! The Goal of This Study. Specification. The Goal of This Study. History. Existing Benchmarks It Is a Difficult Question! J2EE and.net Reloaded Yet Another Performance Case Study The Middleware Company Case Study Team Presented by Mark Grechanik How to compare two functionally rich platforms? Benchmarks?

More information

CO Java EE 7: Back-End Server Application Development

CO Java EE 7: Back-End Server Application Development CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding

More information

WebSphere Application Server-Network Deployment, Version 6. Troubleshooting and support

WebSphere Application Server-Network Deployment, Version 6. Troubleshooting and support WebSphere Application Server-Network Deployment, Version 6 Troubleshooting and support Note Before using this information, be sure to read the general information under Notices on page 273. Compilation

More information

3C05 - Advanced Software Engineering Thursday, April 29, 2004

3C05 - Advanced Software Engineering Thursday, April 29, 2004 Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object

More information