Do We Really Need EJB?

Size: px
Start display at page:

Download "Do We Really Need EJB?"

Transcription

1 Do We Really Need EJB? Alexander Krastev and John Galletly Abstract: This paper, which is a compilation of the experiences of a number of software developers, is an attempt to guard the software community against the pitfalls of the EJB technology. It presents an anthology of experience that might help application developers realize when they are over-engineering their solution when the signs point to a different approach, probably to a different technology. We will start by juxtaposing the commonly agreed on advantages and disadvantages of the EJB architecture. Then we will see how some of the alleged advantages might turn out to possess a certain downside, in the sense that they might lead to solutions that, for reasons implicit in the EJB ideology, are far from efficient. On the basis of all that, we will try to distil rules of thumb about the situations for which the EJB paradigm is suitable and the ones in which it is to be avoided. We will complete the paper with our personal opinion about the viability of the EJB technology in the software arena as well as the prospects for this technology to find place in the applications of the near future. Key words: EJB, Session Bean, Entity Bean, Security, Transaction, Pooling, Portability, Remote Invocation, Caching, JSP, JDBC, Servlets INTRODUCTION Ever since its introduction in 1998 [4], the Enterprise JavaBean (EJB) technology has generated much controversy in the software arena, with developers and managers struggling to decide if the new component architecture should be used in their projects. The EJB architecture was promoted as the server-side component model of the Java platform and, as such, it was designed to enable enterprises build secure, scalable, multiplatform, business-critical applications as server-side components [1]. The main purpose of EJB was to allow enterprise developers to focus on writing the business logic and free them from the need to write transaction, security, caching, pooling and threading primitives by delegating that task to the server vendor. While EJB is a very elegant technology, many software developers fail to realize that it is not a one-size-fit-all solution [4]. For instance, EJB might not be needed for nondistributed applications such as batch processes in which speed might be more important than security and transactions. Unfortunately, at the moment, EJB is the default choice of the industry, probably because it gets so much attention from the media, not because it is technically the best fit for a project [6]. Deciding whether the EJB architecture is appropriate to the project at hand is therefore an important issue that must be given considerable thought. Being familiar with a given technology might be important. Knowing when to apply it, however, is even more significant. This paper, which is a compilation of the published experiences of a number of software developers, is an attempt to draw attention to some of the pitfalls of the EJB technology. It is an endeavour to make developers realize when they are over-engineering their solution when the signs point to a different approach, perhaps even a different technology. At the same time it does not try to discredit the EJB technology. Rather, it presents an anthology of experience, possible alternatives and tips that may lead to a better solution. ADVANTAGES AND DISADVANTAGES OF EJB In order to decide whether the EJB technology can fit a project, it is necessary first to understand its major advantages and disadvantages.

2 1. Advantages i) The EJB Specification [9] is a thorough description of the whole EJB architecture. It defines the EJB types, lifecycles, restrictions, developers roles, etc. Vendors write the application s servers conforming to the EJB Specification and the enterprise developers write the business logic according to a well-defined API. Following the same rules makes it easy to migrate from one application server to another [8]. ii) Ever since Sun released EJB [4], the number of complementary technologies that integrate with the J2EE platform has been steadily growing, and this constantly increases the attractiveness of the EJB technology. Presently the J2EE collection includes technologies such as servlets, JMS (Java Message Service), JSP (JavaServer Pages), the JCA (Java Connector Architecture), JDBC (Java Database Connectivity), security, and transaction management [8]. iii) Security, transaction, pooling and caching issues are delegated to the application server. Because of that we can transparently scale our application by scaling the serverside resources to meet fluctuations in demand [8]. iv) Presently, 25 of the major IT players, with the exception of Microsoft, support J2EE, and EJB as part of it. [8] Thus, customers devising a J2EE solution have a large pool of servers, tools, environments as well as a variety of popular books and Internet articles on EJB best practices and design patterns to choose from [8]. v) Since the specification does not specify any remote object protocol, it allows for a variety of clients. This means that a server can support multiple protocols like RMI, IIOP (CORBA), and DCOM. This implies that a client of an EJB server does not have to be written in the Java language [1]. Furthermore, we can reuse the same component layer for a thick client as well as a Servlet/ JSP client [2]. vi) The system is usually built in a faster and more reliable way: Developers only have to focus on writing the business logic. There are command-line tools that generate the files you need, there are IDEs that help you build EJB components, and there are UML editors that help you generate EJB components from UML diagrams [2]. Also, features that have to be ordinarily hand coded can be turned on by simple declarative properties of the Enterprise JavaBean. Thus, certain behaviors, such as security and transactions, are set not in code, but as flags on the Bean itself [1]. There are situations, however, when a glitch in the application server can significantly prolong the testing and debugging phase. A closed system like an EJB container can be a extremely hard to debug if it behaves in an unexpected way. [6] vii) The presentation logic (Servlets and JSPs) is separated from the business logic (EJB components). This allows for various types of presentation logic, such as WAP enabled phones or web-based clients tapping an XML data stream from a business service provider [2]. The same separation, however, can be equally well achieved without resorting to the EJB architecture. 2. Disadvantages i) The specification is too large and complicated. The truth is that every widely adopted distributed technology, such as Microsoft.Net or OMG CORBA, suffers from this weak point. Still, there are ways in which the specification can be simplified. For instance, in practice only two roles can be discerned as opposed to the six roles described in the specification: container providers and application providers. The latter administrate the server, build the application, assemble it and finally deploy it. This is how teams are organized in the real world [8]. ii) Added complexity compared to straight Java classes. Every session bean consists of at least three Java classes, while every entity bean comprises at least four. We also need standard and possibly vendor-specific deployment descriptors. It is true that some tools for

3 auto generation can considerably reduce the coding time. However, these tools introduce their own restrictions because usually they tie you to one vendor [8]. iii) The EJB technology has the potential to produce a more complex and costly solution than necessary. This disadvantage is a direct corollary of the complex specification. The specification is so complicated that some developers do not take full advantage of it, simply because they fail to understand it. A common pitfall is to misuse some parts and reinvent others, creating a solution that is hard to maintain and one that does not focus on the merits of EJB [8]. iv) EJB has a poor Object/Relational mapping. EJBQL is also notorious for its limitations. There exists no standardized portable way to retrieve the first N records either the whole collection is loaded or each bean is loaded one at a time. The primary key generation mechanism is usually rather awkward as well [6]. v) The EJB paradigm is also tarnished by its inefficient synchronization scheme for the remote objects. When a client makes a remote call, the bean is locked and available only to that client. All other clients are blocked, waiting to be scheduled for execution when the client holding the lock releases it. If we take control of our RMI servants directly, we can adopt a more efficient synchronization policy [7]. QUESTIONING THE MERITS OF THE EJB ARCHITECTURE i) Does code portability really exist? The truth is EJBs are portable only if you write them to be. Session beans and BMP (bean managed persistence) entity beans usually port quite easily. In contrast, CMP (container managed persistence) entity beans need plenty of work. The reason is that vendors often introduce proprietary features, which do not comply with the specification, in order to optimize performance. The work might not be in rewriting code, but in reconfiguring deployment descriptors and container/server configurations [8]. In addition, administration and configuration tools and mechanisms are vendor-specific, as are things like startup and shutdown scripts and sometimes build scripts. ii) Is portability really necessary? Before we start coding our applications with a strict adherence to the specification and start criticizing those who do not, we must ask ourselves the question: How many applications actually migrate between server products?. Most developers are unwilling to perform such a migration because it turns out to be not a trivial task. If we define EJB portability as the ability to migrate seamlessly between server products [7], it is easy to see that, for any but the most trivial beans, this is obviously a false hope, for in 99% of the cases developers are bound up in vendorspecific features without even realizing it. So, what do we gain from selecting best of breed product if we forgo taking advantage of their proprietary features for fear of losing portability? Absolutely nothing! iii) Is vendor neutrality efficient? The emphasis on vendor-neutrality within the EJB specification leads to a number of inefficient ways of building enterprise applications. To mitigate against these inefficiencies, developers need to follow design patterns, which create a lot of additional work. A developer can be better off if he abandons the whole EJB idea altogether and starts from a core architecture of just servlet/jsp and JDBC [7]. A way to avoid design patterns is to use some of the applications server vendor proprietary extensions. Adopting these extensions, however, precludes the portability of the application to another application server and violates the basic idea of the EJB architecture. iv) Is security really free with EJB? There seems to exist some misunderstanding about the issue of security. It is true that the EJB specification provides a fully-fledged security model. But it is just a model - you need to set up your users and roles yourself, and potentially tie in to an existing authentication source, such as a database or LDAP server [8].

4 v) Is caching of Entity Beans that important? No doubt caching is an attractive feature but it is usually not as important as you are led to believe. The truth is that only a few vendors support clustering and caching. Another problem is that caching does not work with legacy systems, such as PL/SQL applications running on the same dataset [6]. vi) Are container-managed transactions a feature of EJB only? There appears to be a common misconception that there can be no transactions outside the realm of EJBs. The truth is that the whole transaction work is actually done behind the scene by the proprietary application server s JTS (Java Transactional Services). We can achieve basically the same functionality without resorting to a session bean at all. All we have to do is use the JTA API. [6] vii) Can we do without a session bean in a three-tier architecture? A common misunderstanding is that session beans cannot be done without in three-tier architectures. This is not true because Servlet/JSP > EJB > Database [6] is only one of the possible approaches. Servlet/JSP > Bean > Database [6] usually turns out to be another valid solution. viii) Do we really need to incur the overhead of remote invocation? In 95% of the applications, the EJB container and the client (the servlet container) run on the same VM. There is no need to incur the overhead of the remote method invocation when direct method calls would be much faster and easier to program [6]. ix) Is connection pooling a merit of the EJB architecture only? The truth is, connection pooling can be easily achieved by installing a connection pooled JDBC driver in the servlet container. What is more, many servlet containers are even providing JNDI contexts from which to discover JDBC DataSources, rather than forcing us to instantiate database connections on the fly. [7] RULES OF THUMB 1. Rules for choosing EJB i) Choose EJB if you need a comprehensive security model [8]. EJB technology offers an advanced declarative approach to restricting access to objects or methods by a particular user. ii) Consider EJB if you need to have more than one client-type access shared data [3]. Common data and business logic may be encapsulated in a single set of EJB components that are accessed by different client types (such as servlet/html and application). iii) Consider using the EJB architecture if you need concurrent read and update access to shared data [3]. The EJB components control the access to the back-end data and manage the current transactions and database locking internally. This reduces the effort spent in writing database control logic, while ensuring the consistency and validity of the data. iv) Consider using EJB if you need to access multiple, disparate data sources with transactional capabilities [3]. Many applications require the ability to access multiple data sources. In order to maintain data integrity, we must ensure that the transactional changes of all data sources are undone if any of the transactional phases fails for some reason. For online catalogues or read-only systems with low user numbers, EJB is probably not needed. For financial systems or any system where you must preserve the ACID (Atomicity, Consistency, Isolation, and Durability) properties, EJBs are imperative [8]. v) Consider using EJB if your application will need to scale beyond initial low levels of usage and you need multiple servers to handle the throughput or availability needs of the system and ensure constant operation of the system. [3]

5 2. Rules for not choosing EJB i) Do not use EJB when there is no need for scalability, transaction management, or security and low numbers of read-only users are anticipated [8]. ii) Do not consider EJB if you do not need platform independence and do not mind being locked into one particular vendor [8]. iii) Do not choose EJB if you have existing skill sets or investments in a working technology. If your developers are proficient in CORBA, for example, then why not stick with it? [2]. iv) Do not use EJB just because your company got a free set of licenses from a vendor [8]. v) Do not use EJB if your application is a big GUI to a database. If yous is such an application - heavy on data logic but no business logic - you could bypass the EJB business logic layer and connect directly to the database via JDBC. [2] vi) Do not use EJB if your application is simple. If you are prototyping, building a simple system, or developing a one-off application that will not evolve over time, EJB may be overkill [2]. vii) Do not use EJB if you cannot deal with the limitations of EJB. There are situations when we do need to use threading, static variables and native code, and simply cannot deal with the EJB paradigm of load balancing across single-threaded instances [2]. CONCLUSION Presently, the demand for distributed architectures is extremely scarce because a distributed architecture usually implies a broad, almost enterprise-wide application in order to amortize the higher development costs as much as possible. Usually most IT management does not think beyond a six-month development cycle, never mind the longterm consideration that a distributed, enterprise-wide architecture implies. Now, with the likelihood of austere years ahead, the development of distributed applications will be even less unlikely [5]. In the meantime, as clients are interested in applications with no apparent need for distributed features, the possibilities for developing EJB applications in the near future are very slim [5]. Even though those applications are almost certainly to be developed in Java, we must be aware that Microsoft will be garnering an ever-increasing share of the enterprise market with their innovative.net platform. EJB is not the sum total of J2EE - in fact, it is probably the one bad apple in the barrel [7]. Servlets, JSP, JMS, RMI, and JDBC - all of these are excellent specifications that serve their stated goals quite well. Abandoning EJB does not necessarily imply you need to abandon all these wonderful APIs. Instead, embrace them even more fully, and utilize them to the utmost. REFERENCES [1] An Introduction to Enterprise JavaBeans TM Technology. Available from [2] Roman, E. Deciding whether EJB is appropriate. [3] Brown, K, L. Cook. What's it going to take to get you to go with EJB components? [4] Hemranjani, A. Do you really need Enterprise JavaBeans? [5] Sefchik, G. EJB not always necessary. [6] Lightbody, P, M. Cannon-Brookes. Is EJB Always Necessary?

6 [7] Neward, T. The Death of EJB As We Know It? [8] Sheil, H. To EJB, or not to EJB? [9] The EJB Specification Available from ABOUT THE AUTHORS 1. Alexander Krastev, Department of Computer Science, American University in Bulgaria, Е-mail: 2. Prof. John Galletly, PhD, Department of Computer Science, American University in Bulgaria, Phone: , Е-mail:

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

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

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

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

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

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

History of Enterprise Java

History of Enterprise Java History of Enterprise Java! At first: Sun focused on the Java Development Kit (JDK) " Remember that Java is a spec, not a technology " Different vendors can implement Java " The JDK became the de-facto

More information

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

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

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

Introduction to componentbased software development

Introduction to componentbased software development Introduction to componentbased software development Nick Duan 8/31/09 1 Overview What is a component? A brief history of component software What constitute the component technology? Components/Containers/Platforms

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

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

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

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation By the Sun Educational Services Java Technology Team January, 2001 Copyright

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

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

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

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

~ 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

WebSphere 4.0 General Introduction

WebSphere 4.0 General Introduction IBM WebSphere Application Server V4.0 WebSphere 4.0 General Introduction Page 8 of 401 Page 1 of 11 Agenda Market Themes J2EE and Open Standards Evolution of WebSphere Application Server WebSphere 4.0

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

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

(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

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

J2EE for Glast. Matthew D. Langston (SLAC) 4/25/2004 J2EE for Glast Matthew D. Langston (SLAC) 4/25/2004 What is J2EE? Java 2 Platform, Enterprise Edition Current specification is J2EE version 1.4 A platform-agnostic operating system for developing componentbased

More information

JDBC Today C HAPTER 1 INTRODUCTION

JDBC Today C HAPTER 1 INTRODUCTION C HAPTER 1 JDBC Today INTRODUCTION Since its inception in 1995 the Java language has continued to grow in popularity. Originally intended as a language for embedded systems, the Java language has moved

More information

Components and Application Frameworks

Components and Application Frameworks CHAPTER 1 Components and Application Frameworks 1.1 INTRODUCTION Welcome, I would like to introduce myself, and discuss the explorations that I would like to take you on in this book. I am a software developer,

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

Enterprise Java and Rational Rose - Part II

Enterprise Java and Rational Rose - Part II Enterprise Java and Rational Rose - Part II by Khawar Ahmed Technical Marketing Engineer Rational Software Loïc Julien Software Engineer Rational Software This is the second installment of a twopart series

More information

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

Plan. Department of Informatics. Advanced Software Engineering Prof. J. Pasquier-Rocha Cours de Master en Informatique - SH 2003/04 Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. EJB: Transactions 7. EJB: Persistence Best Practices 8. Final Considerations

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

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong Enterprise JavaBeans (I) K.P. Chow University of Hong Kong JavaBeans Components are self contained, reusable software units that can be visually composed into composite components using visual builder

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

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

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

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

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

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

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY SUN CERTIFICATION CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY TABLE OF CONTENTS Introduction..............................................

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

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

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

X-S Framework Leveraging XML on Servlet Technology

X-S Framework Leveraging XML on Servlet Technology X-S Framework Leveraging XML on Servlet Technology Rajesh Kumar R Abstract This paper talks about a XML based web application framework that is based on Java Servlet Technology. This framework leverages

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

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J. ORACLG Oracle Press OCM Java@ EE 6 Enterprise Architect Exam Guide (Exams IZO-807,1ZO-865 & IZO-866) Paul R* Allen and Joseph J. Bambara McGraw-Hill Education is an independent entity from Oracle Corporation

More information

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003 Outline Web-based Distributed EJB BugsTracker www.cs.rit.edu/~sha5239/msproject San H. Aung 26 September, 2003 Project Goal Overview of J2EE Overview of EJBs and its construct Overview of Struts Framework

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

GemStone Systems. GemStone. GemStone/J 4.0

GemStone Systems. GemStone. GemStone/J 4.0 GemStone Systems The Software Infrastructure Technology Leader for the New B2B Economy GemStone/J 4.0 Minimizes total cost of ownership, while maximizing scalability, high availability, and rapid deployment

More information

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

Java EE Architecture, Part Two. Java EE architecture, part two 1 Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,

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

developer.* The Independent Magazine for Software Professionals

developer.* The Independent Magazine for Software Professionals developer.* The Independent Magazine for Software Professionals Improving Developer Productivity With Domain-Specific Modeling Languages by Steven Kelly, PhD According to Software Productivity Research,

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

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

Mastering RMI: Developing Enterprise Applications In Java And EJB By Öberg, Rickard Oberg, Rickard READ ONLINE

Mastering RMI: Developing Enterprise Applications In Java And EJB By Öberg, Rickard Oberg, Rickard READ ONLINE Mastering RMI: Developing Enterprise Applications In Java And EJB By Öberg, Rickard Oberg, Rickard READ ONLINE Mastering RMI: Developing Enterprise Applications in Java and EJB. Your search for "Ejb Application

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

Enterprise Java Security Fundamentals

Enterprise Java Security Fundamentals Pistoia_ch03.fm Page 55 Tuesday, January 6, 2004 1:56 PM CHAPTER3 Enterprise Java Security Fundamentals THE J2EE platform has achieved remarkable success in meeting enterprise needs, resulting in its widespread

More information

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

Writing Portable Applications for J2EE. Pete Heist Compoze Software, Inc. Writing Portable Applications for J2EE Pete Heist Compoze Software, Inc. Overview Compoze Business Aspects of Portability J2EE Compatibility Test Suite Abstracting out Vendor Specific Code Bootstrapping

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

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

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

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

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

A General ecommerce Platform with Strong International and Local Aspects

A General ecommerce Platform with Strong International and Local Aspects A General ecommerce Platform with Strong International and Local Aspects By Martin Ramsin A Master s Thesis August 2000 Examiner: Professor Seif Haridi Supervisors:Andy Neil and Mark Bünger, Icon MediaLab

More information

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

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 FEATURES AND FACILITIES SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: JDeveloper features. Java in the database. Simplified database access. IDE: Integrated Development

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

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

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

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

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

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

Introduction To Web Architecture

Introduction To Web Architecture Introduction To Web Architecture 1 Session Plan Topic Estimated Duration Distributed computing 20 min Overview of Sun Microsoft Architecture 15 min Overview of Microsoft Architecture 15 min Summary 15

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

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

Market leading web application server product

Market leading web application server product JE US Market leading web application server product is the first Web Application Server in the world to be Java EE 6 Certified. can quickly and easily implement cloud environments and execute large transactions.

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

Mastering BEA WebLogic Server Best Practices for Building and Deploying J2EE Applications

Mastering BEA WebLogic Server Best Practices for Building and Deploying J2EE Applications Mastering BEA WebLogic Server Best Practices for Building and Deploying J2EE Applications Gregory Nyberg Robert Patrick Paul Bauerschmidt Jeffrey McDaniel Raja Mukherjee Mastering BEA WebLogic Server

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

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

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7 CONTENTS Chapter 1 Introducing EJB 1 What is Java EE 5...2 Java EE 5 Components... 2 Java EE 5 Clients... 4 Java EE 5 Containers...4 Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

More information

Object-relational mapping EJB and Hibernate

Object-relational mapping EJB and Hibernate T A R T U Ü L I K O O L MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Aleksandr Tkatšenko Object-relational mapping EJB and Hibernate Referaat aines Tarkvaratehnika

More information

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

BEA WebLogic Server. and BEA WebLogic Express. Introduction to BEA WebLogic Server 6.1 BEA WebLogic Server and BEA WebLogic Express Introduction to BEA WebLogic Server 6.1 BEA WebLogic Server Version 6.1 Document Date: June 24, 2002 Copyright Copyright 2002 BEA Systems, Inc. All Rights Reserved.

More information

Virtual Credit Card Processing System

Virtual Credit Card Processing System The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce

More information

JDBC(TM) API Tutorial And Reference: Universal Data Access For The Java(TM) 2 Platform (2nd Edition) Download Free (EPUB, PDF)

JDBC(TM) API Tutorial And Reference: Universal Data Access For The Java(TM) 2 Platform (2nd Edition) Download Free (EPUB, PDF) JDBC(TM) API Tutorial And Reference: Universal Data Access For The Java(TM) 2 Platform (2nd Edition) Download Free (EPUB, PDF) This book provides the definitive description of the JDBCaA A API, the technology

More information

Contents at a Glance. vii

Contents at a Glance. vii Contents at a Glance 1 Installing WebLogic Server and Using the Management Tools... 1 2 Administering WebLogic Server Instances... 47 3 Creating and Configuring WebLogic Server Domains... 101 4 Configuring

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

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains november 2004 Applying Code Generation Approach in Fabrique This paper discusses ideas on applying the code generation approach to help the developer to focus on high-level models rather than on routine

More information

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES Lecturers Full Prof. Dragutin Kermek, Ph.D., Matija Novak, M.Inf. Language of Croatian and English instruction: Schedule: 90 teaching hours - 15 hours

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

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

COWLEY COLLEGE & Area Vocational Technical School

COWLEY COLLEGE & Area Vocational Technical School COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR ADVANCED JAVA PROGRAMMING CIS1870 3 Credit Hours Student Level: This course is open to students on the college level in either freshman

More information

BEAWebLogic. Server. Introduction to WebLogic Server and WebLogic Express. Version 8.1 Revised: June 28, 2006 Part Number:

BEAWebLogic. Server. Introduction to WebLogic Server and WebLogic Express. Version 8.1 Revised: June 28, 2006 Part Number: BEAWebLogic Server Introduction to WebLogic Server and WebLogic Express Version 8.1 Revised: June 28, 2006 Part Number: 860-001002-012 Copyright Copyright 2003 BEA Systems, Inc. All Rights Reserved. Restricted

More information

The CESAR Project using J2EE for Accelerator Controls

The CESAR Project using J2EE for Accelerator Controls EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN AB DIVISION CERN-AB-2004-001 (CO) The CESAR Project using J2EE for Accelerator Controls V. Baggiolini, P. Bailly, B. Chauchaix, F. Follin, J. Fullerton,

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

Enterprise JavaBeans Benchmarking 1

Enterprise JavaBeans Benchmarking 1 Enterprise JavaBeans Benchmarking 1 Marek Procházka, Petr T ma, Radek Pospíšil Charles University Faculty of Mathematics and Physics Department of Software Engineering Czech Republic {prochazka, tuma,

More information

QUALITY SUPPORT FROM THE SOURCE.

QUALITY SUPPORT FROM THE SOURCE. JBoss Application Server. QUALITY SUPPORT FROM THE SOURCE. JBoss Application Server (JBoss AS) is the market-leading, open source Java 2 Enterprise Edition (J2EETM) application server, delivering a high-performance,

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

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

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

BEA WebLogic. Server. Introduction to WebLogic Server and WebLogic Express BEA WebLogic Server Introduction to WebLogic Server and WebLogic Express Release 8.1 Document Revised: October 29, 2002 Copyright Copyright 2002 BEA Systems, Inc. All Rights Reserved. Restricted Rights

More information

Verteilte Systeme (Distributed Systems)

Verteilte Systeme (Distributed Systems) Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and

More information

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University) Estd: 1994 Department of Computer Science and Engineering Subject code : IT1402 Year/Sem: IV/VII Subject Name JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli - 621014 (An approved

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

Free Downloads Java Servlet & JSP Cookbook

Free Downloads Java Servlet & JSP Cookbook Free Downloads Java Servlet & JSP Cookbook With literally hundreds of examples and thousands of lines of code, the Java Servlet and JSP Cookbook yields tips and techniques that any Java web developer who

More information