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

Similar documents
Chapter 6 Enterprise Java Beans

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

Java Enterprise Edition

Improving Data Access of J2EE Applications by Exploiting Asynchronous Messaging and Caching Services

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

Oracle 10g: Build J2EE Applications

NetBeans IDE Field Guide

Goal. Outline. Outline. J2EE architecture. Enterprise JavaBeans. J2EE Performance Scalability and Clustering Part 1

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

Developing Applications with Java EE 6 on WebLogic Server 12c

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.

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

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

Introduction To Web Architecture

Multi-tier architecture performance analysis. Papers covered

Java Training For Six Weeks

Enterprise Java Beans

Designing a Distributed System

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

Enterprise JavaBeans, Version 3 (EJB3) Programming

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

Chapter 10 Web-based Information Systems

Enterprise JavaBeans. Layer:01. Overview

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

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

Building the Enterprise

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

Transaction Commit Options

SUN Enterprise Development with iplanet Application Server

Application Servers in E-Commerce Applications

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Enterprise Java and Rational Rose -- Part I

Appendix A - Glossary(of OO software term s)

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

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

Course Content for Java J2EE

J2EE Interview Questions

Java EE 7: Back-End Server Application Development

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Oracle9iAS Tech nicaloverview

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

presentation DAD Distributed Applications Development Cristian Toma

JDBC SHORT NOTES. Abstract This document contains short notes on JDBC, their types with diagrams. Rohit Deshbhratar [ address]

Fast Track to Java EE

Deccansoft Software Services. J2EE Syllabus

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Distributed Multitiered Application

Oracle WebLogic Server 12c: Administration I

GemStone Systems. GemStone. GemStone/J 4.0

PLATFORM TECHNOLOGY UNIT-5

Architecting C++ apps

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Rational Application Developer 7 Bootcamp

Diplomado Certificación

The team that wrote this redbook

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

X100 ARCHITECTURE REFERENCES:

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

Database code in PL-SQL PL-SQL was used for the database code. It is ready to use on any Oracle platform, running under Linux, Windows or Solaris.

SPEC Enterprise Java Benchmarks State of the Art and Future Directions

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

Enterprise JavaBeans: BMP and CMP Entity Beans

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Agent-Enabling Transformation of E-Commerce Portals with Web Services

index_ qxd 7/18/02 11:48 AM Page 259 Index

Plan. Department of Informatics. Advanced Software Engineering Prof. J. Pasquier-Rocha Cours de Master en Informatique - SH 2003/04

J2EE for Glast. Matthew D. Langston (SLAC) 4/25/2004

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Oracle9i Application Server Architecture and Com

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

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

Using Patrol for BEA WebLogic to Accelerate the Value of WebLogic Server (WLS) Tuning Primary Tuning Considerations Execute Queues

Oracle WebLogic Server 11g: Administration Essentials

SCBCD EXAM STUDY KIT. Paul Sanghera CX JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB MANNING. Covers all you need to pass

13. Databases on the Web

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

Java EE 6: Develop Business Components with JMS & EJBs

Web Design and Applications

Ch04 JavaServer Pages (JSP)

A General ecommerce Platform with Strong International and Local Aspects

Oracle Developer Day

SPECjAppServer2002 Statistics. Methodology. Agenda. Tuning Philosophy. More Hardware Tuning. Hardware Tuning.

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

Performance and Scalability of EJB Applications

Writing Portable Applications for J2EE. Pete Heist Compoze Software, Inc.

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

JDBC Today C HAPTER 1 INTRODUCTION

7/12/2010 Microsoft Corporation Microsoft Windows Server AppFabric vs. IBM WebSphere extreme Scale 7 Benchmark Report Page 1

CO Java EE 7: Back-End Server Application Development

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

WebSphere 4.0 General Introduction

J2EE AntiPatterns. Bill Dudney. Object Systems Group Copyright 2003, Object Systems Group

(9A05803) WEB SERVICES (ELECTIVE - III)

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

Exam Questions 1Z0-895

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

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Transcription:

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? Experience reports? Word of mouth? Can we compare.net and J2EE independently of the application software? 5 The Goal of This Study Specification This is an experience report that compares J2EE and.net performances What makes this study special? Economic aspects: billions of dollars involved Religious beliefs: Microsoft is an evil empire The complexity of these platforms A fundamental question that this study answers is what technology is better 2 Specifies an enterprise application that represents typical customer requirements Created by the Middleware company with the help of Expert group and many other people Does not contain or specify any code Allows this application to be implemented using any languages and run on different platforms Serves as a foundation for a number of case studies Purely functional, describes the behavior Other specs are technology specific 6 The Goal of This Study History This is an experience report that compares J2EE and.net performances What makes this study special? Economic aspects: billions of dollars involved Religious beliefs: Microsoft is an evil empire The complexity of these platforms A fundamental question that this study answers is what technology is better 3 Performance case study was done in October 2002 Showed that.net performed better than J2EE Generated enormous publicity J2EE vendors were not invited Microsoft reimbursed expenses Case study vs. benchmarks Bechmarks invoke emotional responses Too much formal overhead with benchmarks Case studies are less formal, more collaborative, and open 7 Is Java Always Slower Than.Net? HTTPbased HTTPbased Middle Tier Interprocess communication Database Database 4 Existing Benchmarks TPC-W specification Precise Provides the freedom in choosing platforms All results use C++ with ISAPI DLLs SPECjAppServer Compares only J2EE applications Difficult to compare variations of used technologies 8

Petstore Application Sign-On Page Has web-based front end that allows customers to buy pets Original Petstore sample application was released by Sun Microsystems Not a specification Was not meant to be used in performance comparison Raised to the specification level by the Middleware company 9 13 Why PetStore? Main Page It represents a well-understood datadriven Web application that exercises the commonly used features of application servers It represents functionality that customers commonly implement in their own Internet and intranet-based Web applications 10 14 PetStore s Functionality Product Search Page Thin client HTML UI layer Server-side script pages (JSP or ASP.NET) to generate HTML on the server Data access Middle-tier components Ad-hoc database searching Database transactions Middle-tier data caching User/Web session management Web Services Forms-based authentication 11 15 Petstore Database Schema Item Detail Page 12 16

Shopping Cart Rules No exclusive access to the database Certain data can be cached for a certain period of time Cache size must be finite Cache item removal algorithm must be described A clustered deployment should have the same logical behavior as a non-clustered one 17 21 Billing Info Page Distributed Transactions Application code must be blind to location of both databases The golden rule is that you cannot modify application code The Web Application performance comparison does not use distributed transactions Both the Customer/Product and Orders tables are located on the same database 18 22 Basic Performance Comparisons Web Application Performance Comparison Run with image download off, at varying user loads on an 8 CPU application server configuration 24-hour Transaction Performance Comparison Run with image download off, at product determined sustainable throughput user load for 24 hours of straight order placement on a 4 CPU system Web Services Performance Comparison Direct activation and remote client/proxy activation via two separate Mercury Scripts Run on 8 CPU web service host/application server configurations for direct activation test Run on 8 CPU web service host with 2, 4 and 8 CPU web service client machine configurations 19 Session Management All users access the application on a formsbased authentication approach On sign on, a user session is created All shopping cart and account information must be stored in middle-tier session state This info is tracked by a unique identifier Multiple sessions allowed for a single user Sessions must automatically expire after a 10 minute inactive period 23 Test Databases Submissions must use the existing database schemas for both Oracle 9i and SQL Server 2000 Submissions in each category and on each platform will be tested on both databases The implementations of the performance comparison application for each database may differ slightly, for example, in the query syntax and data access logic/driver usage For each submission and vendor s product to work across two different mainstream databases is also put to the test The database schemas cannot be changed. 20 Entity Beans An entity bean models a business entity and performs actions within a business process An entity bean to retrieve and perform computation on items within a purchase order The data is stored by the container in some form of data storage system, such as a database The data survive beyond the end of an application session, even a server crash or a network failure Persistence mechanisms Bean-managed persistence (BMP) Container-managed persistence (CMP) 24

Container Managed Persistence Architecture Diagram of the New.NET-C# Codebase The container handles persistence tasks automatically Keeps an entity bean class separate from its persistent representation Enables developers to change a bean's data source without affecting its implementation Describe CMP declaratively in the deployment descriptor file When a bean is deployed, the container provider's tools parse the deployment descriptor and generate code to implement the underlying classes At runtime, the container manages the bean's data by interacting with the datasource (e.g. a relational database designated in the deployment descriptor) 25 29 Types of Applications Lines of Code J2EE-EJB-CMP J2EE-SERVLET-JSP No EJBs are used explicitly.net-c# 26 30 Tuning JVM Memory Garbage collector CPU affinity Application server s runtime settings Execution threads Logging JDBC Application s deployment characteristics Stateful session EJBs Cache sizes Idle times Entity Beans Cache and pool sizes 27 Throughput, web pages per second, increases as user load increases 31 Execution Threads The Maximum Throughput Achieved During the Web Application Tests Using Oracle 9i Database Response Time Lower thread count Higher thread count Requests per sec 28 32

Throughput Increases As User Load Increases Running the Web Application Codebases Using Microsoft SQL Server 2000 Database Web Services Peak Throughput 33 37 The Maximum Throughput Achieved Using Microsoft SQL Server 2000 Database Conclusions Web Application Test.Net fastest J2EE platform.net is better by 11% when used with MS SQL Server J2EE is better by 2% when used with Oracle 9i 24 Hour Reliability Test.Net fastest J2EE platform (less than 2%) Web Services Test.Net fastest J2EE platform by over 200% 34 38 The Average Number of Web Pages Processed Per Second Over a 24-hour Period Questions Does it fully conform to the Solomon empirical study definition? What is the most important lesson learned by doing this study? Can it serve as a precedent to form an independent consortium doing similar studies? How can each tested platform be improved based on the results of this study? 35 39 The Throughput Increases as User Load Increases 36