What Is Needed. Learning the technology is not enough Industry best practices Proven solutions How to avoid bad practices? a Real-life Example.

Size: px
Start display at page:

Download "What Is Needed. Learning the technology is not enough Industry best practices Proven solutions How to avoid bad practices? a Real-life Example."

Transcription

1 1 Push J2EE your Best development Practices further using a Real-life Example. Casey Chan nology Evangelist casey.chan@sun.com Push ebay your Architecture: development furtherhow to Go From there Microsoft IIS ebayisapi.dll MSXML to here? J2EE Container Web Container Services Presentation Tier EJB Container Tier Integration Tier Configuration Logging Security 1 2 Monolithic Layered Proprietary Loosely coupled Modular Standards based What Is Needed Push Core your J2EE development Patterns further Learning the technology is not enough Industry best practices Proven solutions How to avoid bad practices? Collection of best practices and Patterns for for J2EE architecture Also J2EE architecture bad practices and refactorings Based on Sun Java Center Services experience Proven solutions Reuse design Robust and scalable architecture Improve quality Flexibility and maintainability Create a common vocabulary 3 4

2 2 Java Push your TM BluePrints development further Program Agenda Java TM nology Series books Designing Enterprise Applications with the J2EE Platform, 2nd Edition Covers J2EE TM 1.3 platform features Designing Web Services with the J2EE Platform (available soon) Sample applications Java Pet Store Demo Java Adventure Builder Demo Concrete code for the BluePrints guidelines Starting points for your applications Web Tier best practices EJB Tier best practices Persistence Options Container Managed Persistence 5 6 Layering Some Web Tier Best Practices and Patterns Web Tier or Network EJB Session Beans Presentation Layer Data Transfer s i.e. Data Values Logic Layer Service Layer Entity EJBs Domain Layer Persistent Entities 7 8

3 3 Rationale for Layers Model Push your development View Controller further More flexible, extensible: Presentation Layers Frequent changes, design to be flexible Services Implement use-cases Public Service interface Interface should remain valid for changes in presentation and data store Data Layers Fewer changes, designed to optimize data access Model = business data and rules, shared by all clients Controller defines the application behaviour, interprets user actions and maps them into actions performed on the model View = renders the contents of the Model Thin Browser Presentation Layer Model Layer HTTP Request Controller View Problem Domain Services HTML Page Persistence Layer Enterprise Resources Model Push your development View Controller further Response Request Forward Event JSP View Servlet Controller Data Event Bean Model Web EJB Tier MVC Pattern Model Separate: Model data Control Presentation of view 12 Service to Worker = MVC Pattern with more detail Servlet JSP Java s 1. Request 2. Common logic 10. Response 3. Parse Request Front Controller View 9. Get Data 8. Dispatch View Helper Data Bean 4. Get cmd 6. Execute Command Factory Dispatcher 5. Create Command Helper 7. logic

4 4 Push Use your an development MVC Framework further Struts MVC Framework Use Struts, JSF, or Sun Java Studio... application framework Frameworks provide a skeleton which you can extend Faster, easier development of Request processing Response generation Improve Design Modularity Maintainability View 1 View Servlet (Controller) Struts-config.xml Form Bean Model Push Struts your development and Core further J2EE Patterns Push Ebay.com: your development Presentation further Tier Request Front Controller Servlet Mapping (xml) Command Model Service Request Intercepting Filter Request Handler Front Controller Command? Service Navigation and Dispatch Navigator Dispatcher Uses Response View Processor XML 15 View JSP View Forward Dispatcher Form View Helper 16 Response Intercepting Filter View Processor Transformer Helper XSL Core J2EE Pattern Strategy

5 5 Push your development Delegate further Push Ebay.com: your development Presentation further Tier independent from ejb tier Request Intercepting Filter Request Handler Front Controller Command Service Interface Delegate Service Ejb details hidden Navigator Navigation Dispatcher and Dispatch Service Locator Mock objects can be used to test client w/o ejb tier Response Intercepting Filter View Processor View Processor Transformer Helper XML XSL Core J2EE Pattern Strategy Push Cache your development for Performance further Some things can be cached and shared, use a singleton: InitialContext object (JNDI object used for lookups) Anything retrieved from JNDI, EJB Home interfaces Repeated lookups can be expensive! Use Service Locator Pattern Some things are user specific, cached in session: Cache search results when you are only displaying a few at a time (static data) Value List Pattern 19

6 6 ServiceLocator code Push ServiceLocator your development further code 01 public class ServiceLocator { 02 private InitialContext ic; 03 private Map cache; 04 private static ServiceLocator me; private ServiceLocator() { 07 ic = new InitialContext(); 08 cache =new HashMap(); 09 } 10 public static ServiceLocator getinstance() { 11 if (me == null) { 12 me = new ServiceLocator(); 13 } 14 return me; 15 } public EJBHome getremotehome(string jndihomename, Class classname){ 02 EJBHome home = null; 03 if (cache.containskey(jndihomename)) { 04 home = (EJBHome) cache.get(jndihomename); 05 } else { 06 objref = ic.lookup(jndihomename); 07 obj = PortableRemote.narrow(objref, classname); 08 home = (EJBHome)obj; 09 cache.put(jndihomename, home); 10 } 11 return home; 12 } code Push Tips your for development Servlet further Performance 01 ServiceLocator servicelocator = 02 ServiceLocator.getInstance(); 03 try { 04 ProjectHome projecthome =(ProjectHome) 05 servicelocator.gethome( ProjectHome.class );... Servlets are Multithreaded Avoid use of shared modified class variables Synchronize only small blocks in code Don't store a lot of data in the HTTP Session Remove servlet sessions when they are no longer needed: In logoff call session.invalidate() 23 24

7 7 Servlet Tips Tips for JSPs DO use high performance J2EE design patterns MVC, Service Locator DON T hold resources explicitly free them Avoid scriptlets in JSP Use JSTL (JSP 2.0 Standard Tag Libraries): <c:foreach var="item" values="${cart}"> Pass data to JSP in Servlet request object not session If JSP does not use the HTTP session Use <%page session="false"%> to prevent HTTP Sessions from being automatically created Push Do your development need EJBs? further Some EJB Tier Best Practices and Patterns Do you need declarative transactional support? Do you need to distribute your business logic? Do you need JMS, JAX-RPC, RMI? Do you need to support multiple client types? Do you need method-level security on your objects? Do you need Clustering for Scalability? 27 28

8 8 Push Architecting your development Applications further Push ebay your Use development case further realization ebay Case Study ebay Case Study View Items Functional requirements captured via use-cases Use-cases implemented using MVC & Command design patterns Implement Logic as Services Verbs in use cases help define services Noun in use cases help define business data objects Any User View Items by category Any user can view auction items by category Push View your Items development Design furtherrequirements View Items Design ebay Case Study ebay Case Study Centralize Request Hndlg Front Controller Convert to Biz Command Use case Biz logic Assemble Data Command Delegate Session Facade Transfer Assembler Value List Handler Transfer Retrieve Data by category Service Locator Data Access 31 32

9 9 Data Transfer EJB GetCity() Network boundary Before GetState() GetZipCode() DON'T DO too much network traffic Item Info Data Transfer EJB A Data Transfer encapsulates a set of data values to return to the client in one network transfer GetItemInfo() Return DTO 34 After GetCity() GetState() GetZipCode() Network boundary DO Reduce network traffic with Data Transfer Push Data your Access development further Use DAO for read-only tabular access to a large set of data, when query results are large and short-lived DataAccess DataSource Uses Encapsulates obtains/modifies Use Data Access s to encapsulate data-access logic creates/uses -provides a simplified interface for performing complex JDBC operations -allows decoupling of data-access optimizations Transfer 36

10 10 EJB Tier patterns Data Access (DAO) public class FacadeEJB implements SessionBean { protected EbayDAO dao; public void ejbcreate() { try { dao = EbayDAOFactory.getDAO(); } catch (EbayDAOSysException se) { throw new EJBException(se.getMessage()); } } public ListChunk getitems(string categoryid, int startindex, int count, Locale locale) { try { return dao.getitems(categoryid, startindex, count, locale); } catch (EbayDAOSysException se) { throw new EJBException(se.getMessage()); } } 37. } Value List Handler Push Example your development Caching further Results Interface ValueListIterator +GetSize():int +getcurrentelement(): +getpreviouselements(count:int):list +getnextelements(count:int):list +resetindex():void For querying, filtering, and displaying large amounts of data: Value List Handler handles the search, can cache results and provides a traversable result set (value list / batch) Create Execute Search Get Next Return Sub List Stateful Session ValueListHandle ValueListiterator r Execute Search Return Value List Get Sub-list ValueList Create DataAccessObjec t ValueListHandler <<List>> ValueList Transfer Get Previous Return Sub-list Get Sub-list Return Sub-list Get Current Return Value Get Current DataAccess Get Size Return Size Get Size 39 40

11 11 Returning Push your development Search further Results Options 41 ValueList Handler as a Stateful Session EJB caches search results, and returns sub list ValueList Handler as Stateless Session EJB: Select * FROM item WHERE id=? LIMIT [count] OFFSET [startindex] Instead of Value list could use JDBC 2.0 scrollable ResultSet but keeps JDBC data source connection open! (J2SE 1.5 will have disconnected scrollable ResultSet) 42 Stateless Example Create ValueListHandle ValueListiterator r Execute Search (index, count) Execute Search (index, count) Create Return Sub List Execute Search (index+count, count) Return Sub List Stateless Session Return sub List DataAccessObjec t Execute Search (index+count, count) Return sub List Select * FROM item WHERE id=? LIMIT [count]offset [startindex] Create ValueList 44 Push Session your development Facade further pattern Session Bean Entity Bean Plain Java 1. dothis(...) 2. getdata() 3. process Use the Session Facade: Session Facade Entity Bean 1 Entity Bean 2 Session Bean Java 2. getdata() Data Access 1 Data Access 2 provide a simple interface to a complex subsystem of enterprise beans Fine-grained entity beans...fascade -> POJOs/DTO to client Enforce a clear and strict separation of business logic from presentation and data logic

12 12 Use the Session Facade pattern To Execute complex use cases in a single network call to reduce network overhead Don t: Direct Bean Access EJB Use the Session Facade To group finer grained calls to local entity beans Local vs. Remote Interfaces Remote Interfaces Local Interfaces Network Do: Direct Entity Bean access results in excessive network overhead and multiple transactions Network F ac a d e EJB EJB client Network EJB Pass by Value: Serialize/deserialize method parameters (Coarse logic for distributed) EJB client EJB Pass by Reference: Better performance 45 Direct Entity Bean access results in excessive network overhead 46 Push Design your development your local further & remote EJBs Use Session Facade to group finer grained calls to local EJBs in a Coarse Grained Interface Java Remote Facade WebComp onent WebComp onent Delegate WebComp onent Determine which EJBs will be collocated within same VM Relationship Reference Admin Remote Facade LineItem Purchase Order CreditCard Address 47

13 13 Push ebay.com: your development further Tier Session EJB tips ebay Case Study Command Context Transfer Dispatch Application Controller Application Service Facade Transfer Assembler Logic/Data Domain Store Value List Handler Persistence DAO Data Source Core J2EE Pattern Remove stateful session beans when finished (user logs out) Bean.remove() Limit size of objects stored in session beans due to memory cost and I/O for passivation Strategy Push Stateless your development or Stateful further Session EJB? Push Service your development Tier DON'T further s Stateless session beans are pooled and can service multiple clients give best performance Stateful store conversational state=1 per client (are activated and passivated) For Performance Strive for Statelessness when application has a high number of users convert Stateful to stateless by adding parameters to the bean methods that hold the extra state DO NOT store large amount of data in Stateful SessionEJB DO NOT access of Entity EJBs remotely DO NOT implement fine-grained components as remote EJBs 51 52

14 14 Design Patterns Summary Push Design your development Patterns further Summary Invoke business methods Mediate business processing Locate services Session Facade Obtain composite value objects Value Assembler Transactional Data Components Entity Message Driven Bean Encapsulate data Encapsulate data Access data sources Service Locator Value List handler Encapsulate data Transfer Encapsulate data Locate services Data Access Access business list Access data sources Data Transfer Exchanges data J2EE tiers Service Locator Holds results of JNDI lookups Value List Handler Handles larger result sets from database queries Delegate Simplifies the coupling between the J2EE Web & EJB tiers Session Facade Provide business logic functionality Data Access Isolation layer for interfaces to a systems resources Etc Push Data your Access development Options further in J2EE: Persistence Best Practices -oriented (transactional) data model EJB Container Managed Persistence JDO Great choice for ease and performance Tabular access EJBs should not be simple wrappers on database data rows; they should have business logic. To simply access data, use Plain JDBC encapsulated in a DAO Non-relational, non-object data access, Legacy systems, CRM, SAP Use J2EE Connectors

15 15 BMP vs. CMP Push Effect your development of Good further CMP Optimizations BMP Bean EJB Container CMP Bean EJB Container JDBC SQLJ JDBC Driver Persistence Manager JDBC SQLJ SQL 1) Bean provider manages State and Data consistency 2) Bean provider handles relationships and OR Mapping JDBC Driver SQL Bean State Database 1) Container manages State and Data consistency 2) Container/PM provides concurrency, relationships and OR Mapping Bean State Database Benchmark Score # of Database Calls Simple BMP Optimized BMP CMP Push CMP your 2.0 development Entity further Beans Push Container your development Managed further Relationships Entity Bean is now an abstract class, container extends it <<interface>> java.io.serializable Order Address 1 Shipping Address Local Entity <<interface>> javax.ejb.enterprisebean <<interface>> javax.ejb.entitybean CMP Entity Bean abstract class (Contains data handling logic) CMP Entity Bean subclass (Contains persistence logic) You (bean provider) write this code. Container provides this class. OrderHome EJB Tier OrderBean 1 1 M M Local Entity Product LineItems ProductOrdered LineItem Local Entity

16 16 CMP 2.0 Relationship Handling Example Push your development CMP Wizard further In CMP 2.0, you declare fields and relationships in deployment descriptor Container generates all the necessary code <ejb-jar> <enterprise-beans>... define your enterprise beans... <cmp-field> elements represent container-managed persistent fields </enterprise-beans> <relationships>... define EJB relationships... </relationships> Push Advantages your development of further CMP 2.0 for developer container manages the persistence and the relationships, not you! No SQL or persistence logic in source code Freedom from maintaining interactions with the data store EJB Query Language (EJB QL) Portable code 64 Push Advantages your development of further CMP 2.0 for Container Optimization is possible because persistent fields are only accessible via get and set methods Containers knows Which field is being accessed Whether or not field is in a relation Whether of not there is a transaction What's in cache The current clustering environment Can optimize based on above

17 17 Entity Bean Tips Summary Do not use EJB entity beans for batch loading or queries that return large result sets. Use Data Access Objets encapsulating JDBC Use CMP rather than BMP entity bean when possible Do not call EJB entity bean get & set methods from client Wrap with session beans to provide course grain access and single transaction context J2EE Patterns and Best Practices are proven solutions Reuse design Robust and scalable architecture Improve quality, performance Flexibility and maintainability Java TM BluePrints Program Designing Enterprise Applications with the J2EE Platform, 2nd Edition Resources: Casey Chan nology Evangelist Java Performance Tuning 67 J2EE Performance Testing 68

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

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

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

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

Oracle 10g: Build J2EE Applications

Oracle 10g: Build J2EE Applications Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

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

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

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

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

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

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

Java EE Patterns 176

Java EE Patterns 176 Java EE Patterns 176 What are Java EE Patterns?! " A collection of Java EE based solutions to common problems! " Address reoccurring problems found in enterprise class systems! " Intended to meet quality

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

Fast Track to Java EE

Fast Track to Java EE Java Enterprise Edition is a powerful platform for building web applications. This platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This

More information

COURSE 9 DESIGN PATTERNS

COURSE 9 DESIGN PATTERNS COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model

More information

04/08/2003. Survive the test of time. We make the net work. J2EE Best Practices

04/08/2003. Survive the test of time. We make the net work. J2EE Best Practices We make the net work J2EE Best Practices Carol McDonald carol.mcdonald@sun.com www.sun.com/developers Technology Evangelist Sun Microsystems Speaker s Qualifications Carol McDonald Is a Technology Evangelist

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

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is intended for Java programmers who wish to write programs using many of the advanced Java features. COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,

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

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

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

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:

More information

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

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need

More information

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.

More information

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

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

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

Java Training For Six Weeks

Java Training For Six Weeks Java Training For Six Weeks Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation that provides a system for developing application

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

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.

More information

Software Engineering G

Software Engineering G Software Engineering G22.2440-001 8 Sub-Topic 2 Middleware J2EE Reference Architecture Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences

More information

********************************************************************

******************************************************************** ******************************************************************** www.techfaq360.com SCWCD Mock Questions : J2EE DESIGN Pattern ******************************************************************** Question

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

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

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

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES Corporate Solutions Pvt. Ltd. How much new information can fit in your brain? Courses Core Java+Advanced Java+J2EE+ EJP+Struts+Hibernate+Spring Certifications SCJP, SCWD, SCBCD, J2ME Corporate Trainer

More information

Courses For Event Java Advanced Summer Training 2018

Courses For Event Java Advanced Summer Training 2018 Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part

More information

Table of Contents. Introduction... xxi

Table of Contents. Introduction... xxi Introduction... xxi Chapter 1: Getting Started with Web Applications in Java... 1 Introduction to Web Applications... 2 Benefits of Web Applications... 5 Technologies used in Web Applications... 5 Describing

More information

UNIT-III EJB APPLICATIONS

UNIT-III EJB APPLICATIONS UNIT-III EJB APPLICATIONS CONTENTS EJB Session Beans EJB entity beans EJB clients EJB Deployment Building an application with EJB. EJB Types Types of Enterprise Beans Session beans: Also called business

More information

Enterprise JavaBeans TM

Enterprise JavaBeans TM Enterprise JavaBeans TM Linda DeMichiel Sun Microsystems, Inc. Agenda Quick introduction to EJB TM Major new features Support for web services Container-managed persistence Query language Support for messaging

More information

Multi-tier architecture performance analysis. Papers covered

Multi-tier architecture performance analysis. Papers covered Multi-tier architecture performance analysis Papers covered Emmanuel Cecchet, Julie Marguerie, Willy Zwaenepoel: Performance and Scalability of EJB Applications. OOPSLA 02 Yan Liu, Alan Fekete, Ian Gorton:

More information

IBM WebSphere Application Server. J2EE Programming Model Best Practices

IBM WebSphere Application Server. J2EE Programming Model Best Practices IBM WebSphere Application Server J2EE Programming Model Best Practices Requirements Matrix There are four elements of the system requirements: business process and application flow dynamic and static aspects

More information

Migrating traditional Java EE applications to mobile

Migrating traditional Java EE applications to mobile Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

More information

Enterprise Java and Rational Rose -- Part I

Enterprise Java and Rational Rose -- Part I Enterprise Java and Rational Rose -- Part I by Khawar Ahmed Technical Marketing Engineer Rational Software Loïc Julien Software Engineer Rational Software "We believe that the Enterprise JavaBeans component

More information

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Objectives Look at common patterns for designing Web-based presentation layer behavior Model-View-Control

More information

A domain model-centric approach to J2EE development. Keiron McCammon CTO Versant Corporation

A domain model-centric approach to J2EE development. Keiron McCammon CTO Versant Corporation A domain model-centric approach to J2EE development Keiron McCammon CTO Versant Corporation 1 Patterns of Enterprise Application Architecture Martin Fowler, at. al. Overview What is a domain model centric

More information

DESIGN PATTERNS MOCK TEST DESIGN PATTERNS MOCK TEST III

DESIGN PATTERNS MOCK TEST DESIGN PATTERNS MOCK TEST III http://www.tutorialspoint.com DESIGN PATTERNS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Design Patterns Framework. You can download these sample

More information

Building the Enterprise

Building the Enterprise Building the Enterprise The Tools of Java Enterprise Edition 2003-2007 DevelopIntelligence LLC Presentation Topics In this presentation, we will discuss: Overview of Java EE Java EE Platform Java EE Development

More information

POJOs to the rescue. Easier and faster development with POJOs and lightweight frameworks

POJOs to the rescue. Easier and faster development with POJOs and lightweight frameworks POJOs to the rescue Easier and faster development with POJOs and lightweight frameworks by Chris Richardson cer@acm.org http://chris-richardson.blog-city.com 1 Who am I? Twenty years of software development

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

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

Java/J2EE Interview Questions(255 Questions)

Java/J2EE Interview Questions(255 Questions) Java/J2EE Interview Questions(255 Questions) We are providing the complete set of Java Interview Questions to the Java/J2EE Developers, which occurs frequently in the interview. Java:- 1)What is static

More information

Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6

Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6 Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6 Some Terms: Architecture the manner in which the components of a computer

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

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

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product. Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test

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

Java EE Patterns. Student Guide - Volume 1. SL-500 Rev C.0.1. D61856GC10 Edition 1.0 D62465

Java EE Patterns. Student Guide - Volume 1. SL-500 Rev C.0.1. D61856GC10 Edition 1.0 D62465 Java EE Patterns Student Guide - Volume 1 SL-500 Rev C.0.1 D61856GC10 Edition 1.0 D62465 Copyright 2005, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary

More information

Problems in Scaling an Application Client

Problems in Scaling an Application Client J2EE What now? At this point, you understand how to design servers and how to design clients Where do you draw the line? What are issues in complex enterprise platform? How many servers? How many forms

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

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

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved. Borland Application Server Certification Study Guide Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved. Introduction This study guide is designed to walk you through requisite

More information

Enterprise JavaBeans. Layer:01. Overview

Enterprise JavaBeans. Layer:01. Overview Enterprise JavaBeans Layer:01 Overview Agenda Course introduction & overview. Hardware & software configuration. Evolution of enterprise technology. J2EE framework & components. EJB framework & components.

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

Client/Server-Architecture

Client/Server-Architecture Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State

More information

Prototype 1.0 Specification

Prototype 1.0 Specification Prototype 1.0 Specification Javier Ramos Rodríguez Use Case View The prototype 1.0 will implement some basic functionality of the system to check if the technology used is the appropriate one to implement

More information

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions 1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...

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

Realtests.1z QA

Realtests.1z QA Realtests.1z0-864.238.QA Number: 1z0-864 Passing Score: 800 Time Limit: 120 min File Version: 11.8 http://www.gratisexam.com/ Nicely written Questions with many corrections inside. Now sum up more relevant

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Design Patterns II Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 7 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442

More information

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

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

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

Fast Track to Java EE 5 with Servlets, JSP & JDBC

Fast Track to Java EE 5 with Servlets, JSP & JDBC Duration: 5 days Description Java Enterprise Edition (Java EE 5) is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive

More information

these methods, remote clients can access the inventory services provided by the application.

these methods, remote clients can access the inventory services provided by the application. 666 ENTERPRISE BEANS 18 Enterprise Beans problems. The EJB container not the bean developer is responsible for system-level services such as transaction management and security authorization. Second, because

More information

ENTERPRISE beans are the J2EE components that implement Enterprise Java-

ENTERPRISE beans are the J2EE components that implement Enterprise Java- 18 Enterprise Beans ENTERPRISE beans are the J2EE components that implement Enterprise Java- Beans (EJB) technology. Enterprise beans run in the EJB container, a runtime environment within the J2EE server

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

Enterprise JavaBeans: BMP and CMP Entity Beans

Enterprise JavaBeans: BMP and CMP Entity Beans CIS 386 Course Advanced Enterprise Java Programming Enterprise JavaBeans: BMP and CMP Entity Beans René Doursat Guest Lecturer Golden Gate University, San Francisco February 2003 EJB Trail Session Beans

More information

Fast Track to EJB 3.0 and the JPA Using JBoss

Fast Track to EJB 3.0 and the JPA Using JBoss Fast Track to EJB 3.0 and the JPA Using JBoss The Enterprise JavaBeans 3.0 specification is a deep overhaul of the EJB specification that is intended to improve the EJB architecture by reducing its complexity

More information

RMA: A Pattern Based J2EE Development Tool

RMA: A Pattern Based J2EE Development Tool RMA: A Pattern Based J2EE Development Tool by Jun Chen A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree of Master of Mathematics in Computer Science

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

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

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

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

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

SCBCD EXAM STUDY KIT. Paul Sanghera CX JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB MANNING. Covers all you need to pass CX-310-090 SCBCD EXAM STUDY KIT JAVA BUSINESS COMPONENT DEVELOPER CERTIFICATION FOR EJB Covers all you need to pass Includes free download of a simulated exam You will use it even after passing the exam

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

Oracle Developer Day

Oracle Developer Day Oracle Developer Day Sponsored by: J2EE Track: Session #3 Developing JavaServer Faces Applications Name Title Agenda Introduction to JavaServer Faces What is JavaServer Faces Goals Architecture Request

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

Techniques for Building J2EE Applications

Techniques for Building J2EE Applications Techniques for Building J2EE Applications Dave Landers BEA Systems, Inc. dave.landers@4dv.net dave.landers@bea.com Why are we Here? Discuss issues encountered with J2EE Application deployment Based on

More information

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

More information

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

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti Application Servers G22.3033-011 Session 11 - Sub-Topic 2 Using Enterprise JavaBeans Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences

More information

Enterprise JavaBeans. Layer:08. Persistence

Enterprise JavaBeans. Layer:08. Persistence Enterprise JavaBeans Layer:08 Persistence Agenda Discuss "finder" methods. Describe DataSource resources. Describe bean-managed persistence. Describe container-managed persistence. Last Revised: 11/1/2001

More information

Enterprise JavaBeans, Version 3 (EJB3) Programming

Enterprise JavaBeans, Version 3 (EJB3) Programming Enterprise JavaBeans, Version 3 (EJB3) Programming Description Audience This course teaches developers how to write Java Enterprise Edition (JEE) applications that use Enterprise JavaBeans, version 3.

More information

Exam Questions 1Z0-850

Exam Questions 1Z0-850 Exam Questions 1Z0-850 Java Standard Edition 5 and 6, Certified Associate Exam https://www.2passeasy.com/dumps/1z0-850/ 1. Which two are true? (Choose two.) A. J2EE runs on consumer and embedded devices.

More information

JavaEE Interview Prep

JavaEE Interview Prep Java Database Connectivity 1. What is a JDBC driver? A JDBC driver is a Java program / Java API which allows the Java application to establish connection with the database and perform the database related

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

(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

Oracle9iAS Tech nicaloverview

Oracle9iAS Tech nicaloverview Oracle9iAS Tech nicaloverview e-business Integration Management & Security Portals Sandor Nieuwenhuijs Manh-Kiet Yap J2EE & Web Services 9iAS EMEA Product Management Oracle Corporation Business Intelligence

More information

Java Training Center, Noida - Java Expert Program

Java Training Center, Noida - Java Expert Program Java Training Center, Noida - Java Expert Program Database Concepts Introduction to Database Limitation of File system Introduction to RDBMS Steps to install MySQL and oracle 10g in windows OS SQL (Structured

More information

Work groups meeting 3

Work groups meeting 3 Work groups meeting 3 INF5040 (Open Distributed Systems) Amir Taherkordi amirhost@ifi.uio.no Department of Informatics University of Oslo September 18, 2008 Design Patterns J2EE Design Patterns AntiPatterns

More information

Deccansoft Software Services. J2EE Syllabus

Deccansoft Software Services. J2EE Syllabus Overview: Java is a language and J2EE is a platform which implements java language. J2EE standard for Java 2 Enterprise Edition. Core Java and advanced java are the standard editions of java whereas J2EE

More information

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo Vendor: SUN Exam Code: 310-051 Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY Version: Demo QUESTION NO: 1 Which acts as a proxy to an EJB? A. home instance B. remote instance C.

More information

Session E118011: Best practices for developing WebSphere based applications

Session E118011: Best practices for developing WebSphere based applications Session E118011: Best practices for developing Sphere based applications Geoff Hambrick Executive Consultant IBM Sphere Enablement Team August 14-17, 2000 Sphere best practices The challenges, part 1 Want

More information

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

J2EE AntiPatterns. Bill Dudney. Object Systems Group Copyright 2003, Object Systems Group J2EE AntiPatterns Bill Dudney Object Systems Group bill@dudney.net Bill Dudney J2EE AntiPatterns Page 1 Agenda What is an AntiPattern? What is a Refactoring? AntiPatterns & Refactorings Persistence Service

More information

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

IBM. Enterprise Application Development with IBM Web Sphere Studio, V5.0 IBM 000-287 Enterprise Application Development with IBM Web Sphere Studio, V5.0 Download Full Version : http://killexams.com/pass4sure/exam-detail/000-287 QUESTION: 90 Which of the following statements

More information