V3 EJB Test One Pager

Similar documents
New Features in EJB 3.1

Fast Track to EJB 3.0 and the JPA Using JBoss

Stateful Session Beans

Web Application Development Using JEE, Enterprise JavaBeans and JPA

ENTERPRISE JAVABEANS TM (EJB TM ) 3.1 TECHNOLOGY

Web Application Development Using JEE, Enterprise JavaBeans and JPA

OCP JavaEE 6 EJB Developer Study Notes

Java EE 6: Develop Business Components with JMS & EJBs

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

GlassFish v3.1 EJB One Pager

Developing Enterprise JavaBeans for Oracle WebLogic Server 12c (12.2.1)

JVA-163. Enterprise JavaBeans

CO Java EE 7: Back-End Server Application Development

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Introduction. No-Interface View. Discuss this Article. April 2009

IBM. Enterprise Application Development with IBM Web Sphere Studio, V5.0

Java EE 7: Back-End Server Application Development

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

Seam 3. Pete Muir JBoss, a Division of Red Hat

Java EE 6 - Update Harpreet Singh GlassFish Portfolio Product Manager

Deccansoft Software Services. J2EE Syllabus

OracleAS 10g R3: Build J2EE Applications II

Enterprise JavaBeans EJB component types

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

Table of Contents EJB 3.1 and JPA 2

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

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Exam Questions 1Z0-895

Using the Transaction Service

Fast Track to EJB 3.0

Deployment. See Packaging and deployment processes

Fun with EJB and OpenEJB. David #OpenEJB

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

Enterprise JavaBeans, Version 3 (EJB3) Programming

Courses For Event Java Advanced Summer Training 2018

Java EE Architecture, Part Two. Java EE architecture, part two 1

The Next Generation. Prabhat Jha Principal Engineer

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

SUN Sun Cert Bus Component Developer Java EE Platform 5, Upgrade. Download Full Version :

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.

Introduction to CDI Contexts and Dependency Injection

This page intentionally left blank

Building the Enterprise

133 July 23, :01 pm

Metadata driven component development. using Beanlet

Enterprise JavaBeans 3.1

NetBeans IDE Field Guide

Developing Applications with Java EE 6 on WebLogic Server 12c

Oracle Corporation

1Z Oracle. Java Enterprise Edition 5 Business Component Developer Certified Professional Upgrade

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

Vendor: Oracle. Exam Code: 1Z Exam Name: Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam.

JavaEE.Next(): Java EE 7, 8, and Beyond

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

ISV Technical Executive Forum 2011

JSR 299: Web Beans. Web Beans Expert Group. Version: Public Review

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

Oracle Exam 1z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Version: 14.0 [ Total Questions: 90 ]

David Blevins State of OpenEJB 3.0

Java EE 7 Recipes for Concurrency. Presented By: Josh Juneau Author and Application Developer

1 Markus Eisele, Insurance - Strategic IT-Architecture

Java SE7 Fundamentals

<Insert Picture Here> Exploring Java EE 6 The Programming Model Explained

Practice Test. Oracle 1z Java Enterprise Edition 5 Business Component Developer Certified Professional Upgrade Exam. Version: 14.

Hands-on Development of Web Applications with Java EE 6

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

RealVCE. Free VCE Exam Simulator, Real Exam Dumps File Download

BEA WebLogic Server R EJB Enhancements

<Insert Picture Here> Productive JavaEE 5.0 Development

Enterprise JavaBeans. Layer:01. Overview

Apache OpenWebBeans and DeltaSpike Deep Dive Mark Struberg Gerhard Petracek

Java Platform, Enterprise Edition 6 with Extensible GlassFish Application Server v3

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

Pro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol

Eclipse Java Ejb 3.0 Tutorial For Beginners With Examples Pdf

Enterprise JavaBeans. Layer 05: Deployment

Seam & Web Beans. Pete Muir JBoss, a division of Red Hat.

Enterprise Java Beans

CO Java EE 6: Develop Database Applications with JPA

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

This is the first part of a multi-article series. For part 2 please see: Dependency Injection in Java EE 6 - Part 2

JBoss Enterprise Application Platform 6.3

Web Design and Applications

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management

Contents at a Glance

Module 8 The Java Persistence API

Business Component Development with EJB Technology, Java EE 5

BEAAquaLogic. Service Bus. JPD Transport User Guide

Oracle Fusion Middleware

Chapter 6 Enterprise Java Beans

J2EE Interview Questions

Practical EJB 3.0. Bill Burke JBoss Fellow Red Hat. Easier for application and framework developers. Professional Open Source

PATTERNS & BEST PRACTICES FOR CDI

object/relational persistence What is persistence? 5

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

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

Oracle Banking APIs. Part No. E Third Party Simulation Guide Release April 2018

ITcertKing. The latest IT certification exam materials. IT Certification Guaranteed, The Easy Way!

Want to read more? It s also available at your favorite book retailer, including the ibookstore, the Android Marketplace, and Amazon.com.

Transcription:

V3 EJB Test One Pager Overview 1. Introduction 2. EJB Testing Scenarios 2.1 EJB Lite Features 2.2 API only in Full EJB3.1 3. Document Review 4. Reference documents 1. Introduction This document describes test specification for EJB 3.1 supported by GlassFish v3 FCS. 1.1. Names and e-mail of Document Authors Ming Zhang: Ming.Zhang@sun.com 1.2 Revise History: 01/10/2009 1.0 revision. 03/25/2009 1.1 revision. 1.3 Test Priorities: (P1) A simplified Local view that provides Session Bean access without a separate Local Business interface. (P1) Packaging and deployment of EJB components directly in a.war without an ejb-jar. (P1) A Singleton session bean component that provides easy access to shared state, as well as application startup/shutdown callbacks. (P1) Asynchronous session bean invocations. (P1) Automatically created EJB Timers. (P1) The definition of a lightweight subset of Enterprise JavaBeans functionality that can be provided within Java EE Profiles such as the Java EE Web Profile. (P2) A portable global JNDI name syntax for looking up EJB components. (P2) An embeddable API for executing EJB components within a Java SE environment. (P3) Stress testing of timers. (P3) Calendar based EJB Timer expressions. 2. EJB Testing Scenarios EJB in V3 will be tested in both Web Distribution and full Glassfish Distribution. V3 Web Distribution contains EJB Lite. Glassfish Distribution contains EJB lite plus APIs only available to the full Glassfish Distribution. For the V3 Web Distribution, the tests will be limited to using the APIs that are part of EJB 3.1 Lite. For the full Glassfish Distribution, the tests will be for the EJB 3.1 Lite + the APIs that are only in the full Glassfish Distribution. 2.1 EJB Lite Features EJB 3.1 Lite will be available in V3 web distribution. GF V3 supports war deployment for EJB jar. Page 1 of 5

2.1.1 Local view of EJB injection with war packaging of EJB components Use stateless session bean with local business interface Inject @EJB for Stateless session bean in a servlet, Inject @Resource for DataSource, UserTransaction in a stateless session bean, Retrieve DataSource, UserTransaction in the servlet via the ejb. Synchronous method invocations only 2.1.2 Stateless and Stateful session Bean with no-interface view. Use stateless session bean without local business interface Has similar annotation tests as 2.1.1 2.1.3 EJB and JPA with CMT The stateless session bean is used without a local business interface. Injection of EntityManager is in stateless session bean, which is thread safe. in the stateless session bean with container managed transaction. 2.1.4 EJB and JPA with BMT The stateless session bean is used without a local business interface. Injection of EntityManager is in stateless session bean, which is thread safe. in the stateless session bean with bean managed transaction. 2.1.5 Interceptors in Stateless Session Bean with Local Interface Default interceptor in ejb-jar.xml for all beans including a SLSB External interceptor with @Interceptor in a SLSB Internal interceptor with @AroundInvoke in a SLSB <exclude-default-interceptors> in ejb-jar.xml for a Singleton. When SLSB is accessed, all 3 types of interceptors are invoked. 2.1.6 Interceptors in Stateless Session Bean without Interface Default interceptor in ejb-jar.xml for all beans include the SLSB External interceptor with @Interceptor in the SLSB Internal interceptor with @AroundInvoke in the SLSB @ExcludeDefultInterceptors for a Singleton. When the SLSB is accessed, all 3 types of interceptors are invoked. 2.1.7 Singleton Startup EJB injection for singleton @EJB private BeanRoot root JNDI lookup for singleton "java:global[/<app-name>]/<module-name>/<bean-name>" Singleton Initialization with @Startup For a singleton with @Startup, PostConstruct is invoked during deployment For another singleton without @Startup, PostConstruct is invoked when it is accessed. 2.1.8 Singleton DependsOn DependsOn with Startup @Singleton BeanRoot has @Startup and @DependsOn({"BeanLeaf"}) PostConstruct is invoked during deployment in the order of BeanLeaf, then BeanRoot. DependsOn without Startup Page 2 of 5

DependsOn without Startup BeanA and BeanB depend on BeanC, and BeanC depends on BeanD When application access BeanA, BeanB, BeanC, then BeanD, the PostConstruct is invoked in the order of BeanD, BeanC, BeanA, then Bean B. 2.1.9 Singleton and JPA with Container Managed Transaction JNDI lookup of an EntityManager is in a singleton, which is not thread safe, but is OK with 1 client access during the test. in the singleton with container managed transaction. 2.1.10 Singleton with Bean Managed Concurrency To ensure a synchronized business method of a singleton is processed sequentially when multiple clients access it. A BMCSingleton has a synchronized business method. A multi-threads java client accesses a BMCServlet. BMCServlet invokes a synchronized business method in BMCSingleton. BMCSingleton also invokes the business method in DateSingleton. TransactionAttributeType.NOT_SUPPORTED is specified for DateSingleton and the a synchronized business method in BMCSingleton. 2.1.11 Singleton with Container Managed Concurrency To ensure a synchronized business method of a singleton is processed sequentially when multiple clients access it. A CMCSingleton has a business method. A multi-threads java client accesses a CMCServlet. CMCServlet invokes a synchronized business method in CMCSingleton. CMCSingleton also invokes the business method in DateSingleton. TransactionAttributeType.NOT_SUPPORTED, REQUIRED and REQUIRES.NEW are specified for DateSingleton and the a synchronized business method in CMCSingleton. 2.1.11 Interceptors in Stateless Session Bean with Local Interface Default interceptor in ejb-jar.xml for all beans including a SLSB External interceptor with @Interceptor in a SLSB Internal interceptor with @AroundInvoke in a SLSB <exclude-default-interceptors> in ejb-jar.xml for a Singleton. When SLSB is accessed, all 3 types of interceptors are invoked. 2.1.12 Interceptors in Stateless Session Bean without Interface Default interceptor in ejb-jar.xml for all beans include the SLSB External interceptor with @Interceptor in the SLSB Internal interceptor with @AroundInvoke in the SLSB @ExcludeDefultInterceptors for a Singleton. When the SLSB is accessed, all 3 types of interceptors are invoked. 2.1.13 Redeployment testing of various EJB 3.1 applications. Redeployment is a product-specific feature not tested by CTS. It will be tested with some applications using of EJB 3.1 features. Page 3 of 5

2.1.14. SFSB passivation/activation combined with new EJB 3.1 features. By definition, passivation/activation are product-specific behaviors. We should ensure that the new EJB 3.1 features applied to SFSBs are passivated and activated correctly : SFSB with a no-interface view SFSB holding an ejb reference to a Singleton 2.2 API Available only in Full EJB 3.1 Some EJB features (APIs) are available only in V3 Glassfish Distribution and not included in EJB 3.1 lite. 2.2.1 Asynchronous session bean invocations. To ensure a Asynchronized business method of a stateless session bean is processed in parallel when multiple orders access it. Use @Asynchronous to asynchronize business methods in a stateless session bean. The returns will be stored in generic Future array (String, Double). Use HelloASyncServlet to invoke business methods the stateless session bean and get the returns from Future array. A java client to accesses a HelloASyncServlet and return test results. 2.2.2 Multi-thread Asynchronous session bean invocations. To ensure a Asynchronized business method of a stateless session bean is processed in parallel when multiple clients and orders access it. Use the multi-thread java client to accesses a HelloASyncServlet and return test results. 2.2.3. Test EJB ear packaging scenarios. 2.2.4. Develop EJB timer test. Configuring an external timer database instead of the default one and run EJB timer tests. 2.2.5. Stress testing of timers CTS tends to focus on applications with either one or a very small timer of timers. It would be good to add applications with a large number of timers and/or very fine-grained timeouts. 2.2.6. Testing of the developer experience in the face of common errors. If an EJB application contains an invalid EJB (e.g. one with a @Startup Singleton whose @PostConstruct throws an exception), what's the behavior? Is the error correctly reported during deployment? 2.2.7. Stand-alone (plain Java) client access to the new EJB 3.1 features (Remote Async, Singletons, etc). Stand-alone clients are not defined by the spec. 2.2.8. Regression tests to ensure that our V2 and earlier product-specific global JNDI names continue to work. The V2 glassfish-specific global JNDI naming approach (defined here : https://glassfish.dev.java.net/javaee5/ejb/ejb_faq.html#sessionbeanglobaljndinameassignment ) 3. Features Tested in Other Modules: 3.1 Refer to SQE security test spec for EJB Security testing. 3.2 Refer to JMS test plan for MDB testing. 3.3 Refer to Embedded GF test spec for EJB+Embedded GF testing. Page 4 of 5

3.3 Refer to Embedded GF test spec for EJB+Embedded GF testing. 4. Reference Documents 4.1 GF V3 EJB Container Half Pager 4.2 EJB Core Contracts and Requirements, JSR 318 EJB3.1 Page 5 of 5