Describing the functionality of EJB using the behavior protocols
|
|
- Justin Jones
- 6 years ago
- Views:
Transcription
1 Describing the functionality of EJB using the behavior protocols Radek Pospíšil 1, František Plášil 1,2 1 Charles University Faculty of Mathematics and Physics Department of Software Engineering Malostranké námstí Prague 1 Czech Republic {pospisil,plasil@nenya.ms.mff.cuni.cz 2 Academy of Sciences of the Czech Republic Institute of Computer Science Pod vodárenskou væí Prague 8 Czech Republic plasil@uivt.cas.cz Abstract: component architectures are getting more popular. Industrial and academic communities try to design facilities for description of component architectures. In the SOFA/DCUP project, the description of the architecture is based on the CDL (component definition language), that embodies the behavioral protocols. The behavioral protocols of components describe the behavior of the system. One of the biggest industrial company, Sun Microsystems created the Enterprise Java Beans architecture - component architecture based on the Java language and environment. The EJB specification has not facilities for formal describing. In this paper, the behavioral protocols are used to describe the EJB. The preliminary results are presented, because the work is still in progress. 1 Introduction Today software engineering is heading to software components used to build large software architectures (component architectures). A big problem is how to describe the software component and component architecture. There are projects that deal with that problem in different ways (Wright [4], C2 [5], Rapide [6], SOFA/DCUP [7]). All approaches define a software component as reusable code and resources that provides its functionality to the runtime environment and require a functionality from the environment. The functionality is described by s (set of methods or set of accepted and emitted events) and behavior description on them (describing the requested sequencing of invoked methods or dispatched/accepted events). In the SOFA/DCUP project, behavior is based upon behavior protocols. On the other hand, there are several commercial software component architectures widely used (COM/DCOM [10], CORBA [8], JavaBeans [9], Enterprise Java Beans [1]). Unfortunately, they are not compatible, thus a software component written for one architecture is not easily portable to other architecture). Goal of this paper is to show how behavior protocols can be employed in describing the semantics of the EJB. The behavior protocols will be used to describe behavior of the Enterprise Java Beans and to discover weakness of the EJB. On the other hand, this description will may show weakness of the Behavior Protocols. The outcomes should be used to refine both of them. Also, it would valuable to rewrite the EJB specification in a formal way. In the Section 2, the concept of the behavioral protocols and concept of the Enterprise Java Beans are presented. Section 2.3 presents the description of the EJB. Section 3 presents proposed enrichment of the behavioral protocols. Section 5 summarize the achievements. 2 Concepts In this section, the behavioral protocol and the Enterprise Java Beans are briefly presented. The presentation is focused at the features needed for the goal of our project. 1
2 2.1 Enterprise Java Beans The Enterprise Java Beans (EJB) architecture is the one of the commercial component architectures [1]. The EJB architecture is tightly bound to the Java language and environment. EJB is based on the concept of EJB container, which provides services (transactions, persistence, security) to inserted (deployed) components (s) during runtime (figure 1). Also, the EJB container manages the life of the deployed s. The EJB specification introduces two phases of a s life: deployment and runtime. At the beginning of the deployment, the EJB container creates wrapping code to contacting the provided services (transaction, persistence, and security) by some of the business methods of the Remote ; the wrapping is specified by the Bean s DeploymentDescriptor. Then, the is inserted (deployed) into the EJB container. At runtime, the wrapping code and the code are executed as a part of the EJB container. This way, the functionality of a (at its Remote Interface) can be parametrized by its DeploymentDescriptor, i.e., without the s code involvement. 2.2 Behavioral protocols and Components The Behavioral Protocols is an extension of the SOFA/DCUP architecture [2]. In SOFA/DCUP, behavior protocols are specified on three levels of functionality abstraction:, frame and architecture ( protocol, frame protocol and architecture protocol). An architecture protocol has to be in the compliance relation with the corresponding frame protocol and a frame protocol has to be in the compliance relation with the corresponding protocols. The language of behavior protocols is based on regular languages (but it is not regular [3]). A key benefit of behavior protocol is a formal description of component behavior. EJB Server EJB container Account family Client Account Account (pooled) family Client client contract (pooled) instance container contract unspecified Transactions Persistence Security 2.3 Describing EJB using behavioral protocols Figure 1 The EJB specification is mostly written in an informal way. Even though several diagrams are included (e.g. those describing life cycle and transactional behavior), some parts of the specification are ambiguous. Moreover, at many place, related information is spread throughout the document. With respect to its overall size (about 100 pages), this unpleasant feature makes the specification hard-to-read. As a remedy, the primary goal of this paper is to enhance the EJB architecture specification by behavioral protocol [2] which allow to express mutual dependencies of methods calls over a set of s. An attempt to describe deployment phase by protocols can be ends up by the lack of specified s (the 2
3 document [1] specifies deployment just in an informal way). Therefore, we have focused on employing behavior protocols in the runtime phase of a s s life. During the description of the EJB, two weakness of the behavioral protocols were found. The first concerns the dynamicity of instnaces creation, which implies the need of frame protocol dynamic modification. The second problem is exception handling, thrown by Java methods. An attempt to overcome both problem, Section 3 describes the enhancements to the behavior protocols we found necessary in order to describe EJB s behavior at runtime. 3 Enrichments of the behavioral protocols 3.1 Semi-dynamic protocols During the description of EJB, the following problem arose - how to deal with dynamic EJB instances creation. Example 1illustrates the problem. The frame server provides a number of s, which are created and destroyed using s. When the system starts up, the array bn of the s is empty. Bean instances are created via invocation of the.createbean method and removed by.removebean.when such an instance is created, it gets a unique index in bn. From this point, the instance can be included in the corresponding frame protocol as a denotation instance_name[symbolic_index] (eg bn[i]), where the symbolic_index has the meaning i, thus i denotes valid instance in an array. Often, a new instance is created as a response to a request. Of course, that the instance must not exist before creation (protocol containing instances event is inactive). On the other hand, when the life of an instance is over, the protocol containing the instance s event must be inactivated. It can handle these two enrichments (1) new arr[i] construct and (2) delete arr[i] construct. The semantic of the new arr[i] is: allocate new arr (symbolic index is equal to i). Then all protocols containing arr[i] are enabled. The semantic of the "delete arr[i]" is: deallocate denoted by i. Then all protocols containing arr[i] are disabled. Another possibility to deal with this problem is to use guards [2]. Example 1 { createbean; removebean; { put; get; datastore { registerbean; unregisterbean; read; write; frame server { provides: hm; bn[]; requires: datastore ds; ( *?hm.createbean{new bn[i];!ds.registerbean?hm.removebean{!ds.unregisterbean; delete bn[i]?bn[i].put{!ds.write?bn[i].get{!ds.read 3.2 Exceptions handling The last version of the behavior protocols as described in [2] does not address exception handling. An enrichment of the behavior protocols proposed in this section is based on the Java language s exceptions handling. Java specifies that there are two possible outcomes of a method call - a value of the result type or an exception. In Java, exception handling is syntactically based on the throws clause after the name of the method and the try-catch construct. The enrichment of the notation of the behavior protocol is follows a similar patern. Let m be a method which may throws exception exc, the abbreviation!m is defined as!m8;(?m9+?exception9). In the same sense,?m is redefined as?m8;(!m9+!exc9). Thus, if a request for an event m is emitted (!m8), then the emitter must expect two alternative outcomes: (1) the standard return from the method invocation, i.e., m9, or (2) an 3
4 exception exc9. This mechanism can be implicitly enabled by the throws clause in the signature of an. Then all method invocations are subject to exception handling. Until this point, the behavior protocol does not change much. On the other hand, the result protocol for an exception s handling becomes complicated and hard-to-read. In the Example 2, exception handling for two method sequences of invocations is illustrated. In the a) case, there are two invocation of a method m. Then the protocols for success return and exception handling is added (case b)). The disadvantages of handling exception in behavior protocols this way is the direct usage of!,?,8,9 and a complicated protocol trace. Example 2 a.!m8;(?m9 +?exc9);!m8;(?m9 +?exc9) b.!m8;((?m9;(!m8;((?m9; protocol_for_success) + (?exc9; protocol_for_exception2))) + (?exc9; protocol_for_exception1)) To overcome the problem, we propose to enrich behavior protocols by exception protocol. This enrichment follows the idea of the Java s try-catch construct. The basic idea is that the exception protocol is placed into the catch part of a behavior protocol. When a sheltered protocol sp (placed between try and catch) raises an exception (exc9), processing of sp is interrupted and processing of the exception protocol ep starts. When ep processing ends, the processing of the whole protocol continues after sp (as if sp was finished ordinally). The corresponding notation takes the form: (sheltered protocol)(exception protocol). Example 3 illustrates how the exception handling form the Example 2 can be modified by employing the sheltered and exception protocols idea. Example 3 a.!m;!m b. ((!m;!m)(?exc9;(protocol_for_exception1+protocol_for_exception2))); protocol_for_success Exceptional protocols can be nested to allow exception s pre-handling ( catching an exception and re-throwing it to the parent s exception protocol). Passing an exception from a child s exception protocol to the parent s exception protocol is done by using the t type of an event [2]. If an exception event must be returned to the caller, the notation of!exc9 is used. In Example 4, nested exception protocols are used. This example is more complex. It presents the frame protocol of Database, which provides the IDBServer ( user ) and requires the IDBAccess ( data storage ). The Insert and Deletemethods can throw InsertException and DeleteException. If a InsertException is thrown, the exception protocol interrupts the sheltered protocol and the exception protocol emits the exception (re-throws) to the client (see the IDBServer ). Then the execution of the protocol continues with next iteration of the sheltered protocol, because the iteration operator * is not placed in the sheltered protocol. If the DeleteException is emitted, the exception is re-emitted to the parent s exception protocol using the t type of the event. In the example, DeleteException means that a serious problem occurred in a data storage. Then the data storage is closed (!dbacc.close), DeleteException returns, and the protocol ends. Example 4 IDBServer { Insert throws InsertException; Delete throws DeleteException; Query; (Insert Delete Query)* ; IDBAccess { Open; Insert throws InsertException; Delete throws DeleteException; Query; Close; Open; (Insert Delete Query)*; Close ; frame Database { provides: IDBServer dbsrv; requires: IdatabaseAccess dbacc; (!dbacc.open; ((?dbsrv.insert{!dbacc.insert +?dbsrv.delete{!dbacc.insert+?dbsrv.query{!dbacc.query )(?InsertException9;!InsertException9 +?DeleteException9; tdeleteexception9 ))*!dbacc.close 4
5 ; )(?DeleteException9;!dbAcc.Close;!DeleteException9) 4 Employing behavior protocols in EJB - case study As a case study, we choose a relatively complicated method interplay semantics related to employing transactions in a EJB. As the semantics illustrated is related to EJB s in general, we will use a generic which has methods methodtx.. Where TX... stand for one of the transactional attributes defined for EJB s(e.g. method_tx_required method is deployed with TX_REQUIRED transactional attribute). However, the attribute TX_BEAN_MANAGED is not covered here, because once used, all methods of a have to be marked also as TX_BEAN_MANAGED. In Appendix A, the runtime phase of a generalized StatefulSession instance behavior is described via behavioral protocols. In this preliminary version, the frame protocol of a StatefulSession instance is considered. The reason for choosing the StatefulSesion is its non trivial transactional behavior. The key components used in the description are captured in Figure 2. The provides the SessionHome. This serves mainly to create/remove instances. The is in fact the EJBObject. This is entry point to functionality of a instance via its. The StatefulSessionBean is the of a. The implements all methods specified by EJBFunctionality (the s business methods) and the methods called by the corresponding to notify the about creation/remove/activation/passivation process. The functionality of a Bean is a part of the StatefulSession instance (frame SBInstance). The UserTransaction and TM (TransactionManager) s are used to access transaction service. EJB Server EJB container family Client (pooled) TM Transactions Figure 2 To capture the behavior of the components from Figure the following two frames are introduced in Appendix A.The first frame is Services. It describes the services of the EJB Server (currently only transaction service). It provides TM and an array of UserTransaction s. The semi-dynamicity of protocols is employed in creating/removing instances of UserTransaction. The second frame is SBInstance. It describes the life and transactional behavior of a StatefulSession instance. In compliance with the EJB specification, the StatefulSession instance must modify its transaction behavior if one of its methods is invoked in a transaction context. On the frame level, it is not possible to listen on all s of transaction manager (TM); thus, guards must be used to enable portions of the corresponding frame protocol, depending upon if a transaction context is propagated or not. According to the EJB specification, there are two states of a StatefulSession instance, in which invocation of a method with a specific transaction 5
6 attribute is not allowed - in such a case, an exception is returned. 5 Conclusion In this paper, a preliminary description of the EJB transactional behavior was presented. Two problems were emphasized: (1) the exception handling in the behavior protocol and (2) the semi-dynamicity of the behavior protocols. A solution to both of them was proposed. A further research topic have been identified - the area of dynamicity of behavior protocols. The research should aim at evaluation of different approaches to protocol dynamicity 6 References [1] Sun Microsystems, EJB Specification, [2] František Plášil, Stanislav Višnovský, Miloslav Bešta: Behavioral Protocols and Components, TOOLS 1999 [3] Stanislav Višnovský: Master theses, Charles University, 1999 [4] Allen, R. J.: A Formal Approach to Software Architecture. Ph.D. Thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, 1997 [5] Medvidovic n.: The C2 style, [6] Luckham D.: Rapide project, [7] Plasil, F., Balek, D., Janecek, R.: SOFA/DCUP Architecture for Component Trading and Dynamic Updating. In Proceedings of ICCDS '98, Annapolis, IEEE CS, 1998, pp [8] OMG: CORBA, [9] Sun Microsystems: JavaBeans, [10] Microsoft: COM/DCOM, 6
7 Appendix A - the behavioral protocols of EJB architecture (preliminary version) // EJB business methods EJBFunctionality { method_tx_not_supported; method_tx_required; method_tx_supports; method_tx_requires_new; method_tx_mandatory; (method_tx_not_supported + method_tx_required + method_tx_supports + method_tx_requires_new + method_tx_mandatory)* // EJB s EJBObject: EJBFunctionality { getejbhome; gethandle; getprimarykey; isidentical; remove; (getejbhome + gethandle + getprimarykey + isidentical + method_tx_not_supported + method_tx_required + method_tx_supports + method_tx_requires_new + method_tx_mandatory)* + remove // EJB base EJBHome { remove; getejbmetadata; (getejbmetadata + remove)* // SessionBean SessionHome: EJBHome { create; (create + getejbmetadata + remove)* // Session synchnronization s SessionSynchronization { afterbegin; aftercompletion; beforecompletion; (afterbegin; ((beforecompletion; aftercompletion) + aftercompletion))* // Session StatefulSessionBean: EJBFunctionality, SessionSynchronization { ejbactivate; ejbpassivate; ejbremove; setsessioncontext; ejbcreate; setsessioncontext; ejbcreate; ( (method_tx_not_supported + method_tx_supported + method_tx_required + method_tx_requires_new + method_tx_mandatory+(ejbpassivate; ejbactivate))*+ (afterbegin; (method_tx_not_supported + method_tx_supported + method_tx_requires + method_tx_mandatory + method_tx_requires_new)*; ((beforecompletion; aftercompletion) + aftercompletion) )* )*; ejbremove // UserTransaction UserTransactioin { begin; commit; getstatus; rollback; setrollbackonly; settransactiontimeout; (begin; setrollbackonly*; (commit + rollback)) (getstatus + settransactiontimeout)* 7
8 // Transaction Manager TM { getusertransaction; suspendtransaction; wakeuptransaction; registerxaresource; getcurrenttransaction; (getusertransaction + suspendtransaction + waketransaction + registerxaresource+getcurrenttransaction)* // services frame frame services { provides: TM tm; // Transaction Manager UserTransaction tx[]; // array of UserTransaction s requires: ( (?tm.getusertransaction{new UserTransaction[i] +?tm.suspendtransaction +?tm.waketransaction +?tm.registerxaresource +?tm.getcurrenttransaction) (?tx[i].begin; tx[i].setrollbackonly*; (?tx[i].commit{delete tx[i] +?tx[i].rollback{delete tx[i])) (?tx[i].getstatus +?tx[i].settransactiontimeout) )* // StatefulBean instance frame frame SBInstance { provides: EJBObject sso; // EJB requires: StatefulSessionBean ssb; // StatefulSession TM tm; // Transaction Manager UserTransaction tx[]; // array of UserTransaction s!ssb.setsessioncontext;!ssb.ejbcreate; ( [invocations are in TX context - tx[i]]( // method TX_NOT_SUPPORTED and TX_REQUIRES_NEW do not associate instance with transaction tx[i] (?sso.method_tx_not_supported{!tm.susspendtransaction;!ssb.method_tx_not_supported;!tm.wakeuptransaction+?sso.method_tx_requires_new{!tm.suspendtransaction;!tm.getusertransaction; tx[j].begin;!ssb.method_tx_requires_new; ((!tx[j].commit;!ssb.aftercompletion) + (!ssb.beforecompletion;!tx[j].rollback;!ssb.aftercompletion)); tx[i].wakeuptransaction)*; // TX_SUPPORTS, TX_REQUIRED and TX_MANDATORY associate instance with transaction tx[i] (?sso.method_tx_supports{!ssb.method_tx_supports+?sso.method_tx_required{!ssb.method_tx_required+?sso.method_tx_mandatory{!ssb.method_tx_mandatory+ (?sso.method_tx_not_supported9;!remoteexception8)(?remoteexception9;!remoteexception8)+ (?sso.method_tx_requires_new9;!remoteexception8)(?remoteexception9;!remoteexception8))*; // when tx[i] is commited or rollbacked (!ssb.aftercompletion+(!ssb.beforecompletion;!ssb.aftercompletion)) )+ [invocations are not in TX context]( (?sso.method_tx_not_supported{!ssb.method_tx_not_supported+?sso.method_tx_supports{!ssb.method_tx_supported+?sso.method_tx_requires{!tm.getusertransaction;!tx[i].begin;!ssb.method_tx_requires; ((!tx[i].commit;!ssb.aftercompletion)+(!ssb.beforecompletion;!tx[i].rollback;!ssb.aftercomple tion)) +?sso.method_tx_requires_new{!tm.getusertransaction;!tx[i].begin;!ssb.method_tx_requires_new; ((!tx[i].commit;!ssb.aftercompletion)+(!ssb.beforecompletion;!tx[i].rollback;!ssb.aftercomple tion)) + (?sso.method_tx_mandatory8;!remoteexception9)(?remoteexception9;!remoteexception8)+ (!sb.ejbpassivate;!sb.ejbactivate))* )*;?sb.ejbremove 8
Enterprise JavaBeans. Layer:03. Session
Enterprise JavaBeans Layer:03 Session Agenda Build stateless & stateful session beans. Describe the bean's lifecycle. Describe the server's swapping mechanism. Last Revised: 10/2/2001 Copyright (C) 2001
More informationEnterprise JavaBeans. Session EJBs
Enterprise JavaBeans Dan Harkey Client/Server Computing Program Director San Jose State University dharkey@email.sjsu.edu www.corbajava.engr.sjsu.edu Session EJBs Implement business logic that runs on
More informationEnterprise Java Beans
Enterprise Java Beans Objectives Three Tiered Architecture Why EJB? What all we should know? EJB Fundamentals 2 Three Tiered Architecture Introduction Distributed three-tier design is needed for Increased
More informationOn Performance of Enterprise JavaBeans
On Performance of Enterprise JavaBeans Radek Pospíšil, Marek Procházka, Vladimír Mencl 1 Abstract Enterprise JavaBeans (EJB) is a new-sprung technology for Java-based distributed software components. During
More informationEnhancing EJB Component Model
Enhancing EJB Component Model Vladimír Mencl, Jiří Adámek, Adam Buble, Petr Hnětynka, Stanislav Višňovský Abstract Component Based Software Development (CBSD) aims to lower software development costs by
More informationUNIT-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 informationCHAPTER 4 TRANSACTIONS
CHAPTER 4 TRANSACTIONS OBJECTIVES After completing Transactions, you will be able to: Describe the importance of transactions in enterprise-class software. Describe the EJB transaction model. Protect your
More informationEnterprise JavaBeans. Layer:07. Entity
Enterprise JavaBeans Layer:07 Entity Agenda Build entity beans. Describe the bean's lifecycle. Describe the server's free pool. Copyright (C) 2001 2 Entity Beans Purpose Entity beans represent business
More informationThe Developer s Guide to Understanding Enterprise JavaBeans. Nova Laboratories
The Developer s Guide to Understanding Enterprise JavaBeans Nova Laboratories www.nova-labs.com For more information about Nova Laboratories or the Developer Kitchen Series, or to add your name to our
More informationEnterprise 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 informationQ: I just remembered that I read somewhere that enterprise beans don t support inheritance! What s that about?
session beans there are no Dumb Questions Q: If it s so common to leave the methods empty, why don t they have adapter classes like they have for event handlers that implement all the methods from the
More informationConstraint-based Generation of Connectors
Constraint-based Generation of Connectors Tomas Bures Charles University, Faculty of Mathematics and Physics, Prague, Czech Republic Abstract. In this paper we discuss the a typical use-case of connector
More information133 July 23, :01 pm
Protocol Between a Message-Driven Bean Instance and its ContainerEnterprise JavaBeans 3.2, Public Draft Message-Driven Bean When a message-driven bean using bean-managed transaction demarcation uses the
More informationEntity Beans 02/24/2004
Entity Beans 1 This session is about Entity beans. Understanding entity beans is very important. Yet, entity bean is a lot more complex beast than a session bean since it involves backend database. So
More informationThe Details of Writing Enterprise Java Beans
The Details of Writing Enterprise Java Beans Your Guide to the Fundamentals of Writing EJB Components P. O. Box 80049 Austin, TX 78708 Fax: +1 (801) 383-6152 information@middleware-company.com +1 (877)
More informationSCBCD 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 informationEJB 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 informationSpecification and Generation of Environment for Model Checking of Software Components *
Specification and Generation of Environment for Model Checking of Software Components * Pavel Parizek 1, Frantisek Plasil 1,2 1 Charles University, Faculty of Mathematics and Physics, Department of Software
More informationThis chapter describes: AssetBean AssetMgr AssetMgrEJB AssetMgrHome AssetTagAssociationBean AssetTypeBean AssociationBean AssociationMgr
$VVHW9LVLELOLW\ 6HUYLFHV$3, 1 This chapter describes: AssetBean AssetMgr AssetMgrEJB AssetMgrHome AssetTagAssociationBean AssetTypeBean AssociationBean AssociationMgr AssociationMgrEJB AssociationMgrHome
More informationOracle9iAS Containers for J2EE
Oracle9iAS Containers for J2EE Enterprise JavaBeans Developer s Guide Release 2 (9.0.4) Part No. B10324-01 April 2003 Beta Draft. Oracle9iAS Containers for J2EE Enterprise JavaBeans Developer s Guide,
More informationOracle8i. Enterprise JavaBeans Developer s Guide and Reference. Release 3 (8.1.7) July 2000 Part No. A
Oracle8i Enterprise JavaBeans Developer s Guide and Reference Release 3 (8.1.7) July 2000 Part No. A83725-01 Enterprise JavaBeans Developer s Guide and Reference, Release 3 (8.1.7) Part No. A83725-01 Release
More informationBorland 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 informationEnterprise 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 informationSOFTWARE CONNECTORS AND THEIR ROLE IN COMPONENT DEPLOYMENT
. SOFTWARE CONNECTORS AND THEIR ROLE IN COMPONENT DEPLOYMENT Dušan Bálek 1, František Plášil 1,2 1 Charles University, Faculty of Mathematics and Physics, Department of Software Engineering, Malostranské
More informationExam 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 informationTransaction Commit Options
Transaction Commit Options Entity beans in the EJB container of Borland Enterprise Server by Jonathan Weedon, Architect: Borland VisiBroker and Borland AppServer, and Krishnan Subramanian, Enterprise Consultant
More informationITdumpsFree. 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 informationJ2EE Application Server. EJB Overview. Java versus.net for the Enterprise. Component-Based Software Engineering. ECE493-Topic 5 Winter 2007
Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 24 Java Enterprise (Part B) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo J2EE Application
More informationTransaction Management in EJBs: Better Separation of Concerns With AOP
Transaction Management in EJBs: Better Separation of Concerns With AOP Johan Fabry Vrije Universiteit Brussel, Pleinlaan 2 1050 Brussel, Belgium Johan.Fabry@vub.ac.be March 8, 2004 1 Introduction The long-term
More informationStateless Session Bean
Session Beans As its name implies, a session bean is an interactive bean and its lifetime is during the session with a specific client. It is non-persistent. When a client terminates the session, the bean
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationEnterprise 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 informationImplementation of a data layer for the visualization of component-based applications
Implementation of a data layer for the visualization of component-based applications Jaroslav Šnajberk and Přemek Brada Department of Computer Science and Engineering, Faculty of Applied Sciences University
More informationUsing JNDI from J2EE components
Using JNDI from J2EE components Stand-alone Java program have to specify the location of the naming server when using JNDI private static InitialContext createinitialcontext() throws NamingException {
More informationFighting Class Name Clashes in Java Component Systems
Fighting Class Name Clashes in Java Component Systems Petr Hnětynka, Petr Tůma Charles University Department of Software Engineering Distributed System Research Group Malostranské náměstí 25, 118 00 Prague
More informationJironde: A Flexible Framework for Making Components Transactional
Jironde: A Flexible Framework for Making Components Transactional Marek Prochazka INRIA Rhône-Alpes 665, avenue de l Europe, Montbonnot, 38334 Saint Ismier Cedex, France Marek.Prochazka@inrialpes.fr Abstract.
More informationConception of Information Systems Lecture 8: J2EE and EJBs
Conception of Information Systems Lecture 8: J2EE and EJBs 3 May 2005 http://lsirwww.epfl.ch/courses/cis/2005ss/ 2004-2005, Karl Aberer & J.P. Martin-Flatin 1 1 Outline Components J2EE and Enterprise Java
More informationModeling Software Components Using Behavior Protocols
CHARLES UNIVERSITY FACULTY OF MATHEMATICS AND PHYSICS Modeling Software Components Using Behavior Protocols Doctoral Thesis Stanislav Višnovský Department of Software Engineering Malostranske namesti 25,
More informationUsing the Transaction Service
15 CHAPTER 15 Using the Transaction Service The Java EE platform provides several abstractions that simplify development of dependable transaction processing for applications. This chapter discusses Java
More informationJBuilder. Getting Started Guide part II. Preface. Creating your Second Enterprise JavaBean. Container Managed Persistent Bean.
Getting Started Guide part II Creating your Second Enterprise JavaBean Container Managed Persistent Bean by Gerard van der Pol and Michael Faisst, Borland Preface Introduction This document provides an
More informationTeamcenter Global Services Customization Guide. Publication Number PLM00091 J
Teamcenter 10.1 Global Services Customization Guide Publication Number PLM00091 J Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT
More information(12) United States Patent (10) Patent No.: US 7,003,776 B2
USOO7003776B2 (12) United States Patent (10) Patent No.: Sutherland (45) Date of Patent: Feb. 21, 2006 (54) SYSTEM AND METHOD FOR OBJECT 6,085,198 A * 7/2000 Skinner et al.... 707/103 R PERSISTENCE LIFE-CYCLE
More informationEnterprise JavaBeans Technology
Patricia Seybold Group Strategic Technologies, Best Practices, Business Solutions Enterprise JavaBeans Technology Server Component Model for the Java Platform By Anne Thomas Revised December 1998 Prepared
More informationTopexam. 一番権威的な IT 認定試験ウェブサイト 最も新たな国際 IT 認定試験問題集
Topexam 一番権威的な IT 認定試験ウェブサイト http://www.topexam.jp 最も新たな国際 IT 認定試験問題集 Exam : 1D0-442 Title : CIW EnterprISE SPECIALIST Vendors : CIW Version : DEMO Get Latest & Valid 1D0-442 Exam's Question and Answers
More informationToday: Distributed Middleware. Middleware
Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out
More informationHierarchical vs. Flat Component Models
Hierarchical vs. Flat Component Models František Plášil, Petr Hnětynka DISTRIBUTED SYSTEMS RESEARCH GROUP http://nenya.ms.mff.cuni.cz Outline Component models (CM) Desired Features Flat vers. hierarchical
More informationChapter 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 informationA Flexible Framework for Adding Transactions to Components
A Flexible Framework for Adding Transactions to Components Marek Prochazka INRIA Rhône-Alpes 665, avenue de l Europe, Montbonnot 38334 Saint Ismier Cedex, France Marek.Prochazka@inrialpes.fr Abstract:
More informationReflective 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 informationDistributed Applications (RMI/JDBC) Copyright UTS Faculty of Information Technology 2002 EJB EJB-3
Advanced Java programming (J2EE) Enterprise Java Beans (EJB) Part 1 Architecture & Session Beans Chris Wong chw@it.uts.edu.au [based on prior course notes & the Sun J2EE tutorial] Enterprise Java Beans
More informationComponent-Based Platform for a Virtual University Information System
Component-Based Platform for a Virtual University Information System Dr. IVAN GANCHEV, Dr. MAIRTIN O DROMA, FERGAL McDONNELL Department of Electronics and Computer Engineering University of Limerick National
More informationMaster Thesis An Introduction to the Enterprise JavaBeans technology and Integrated Development Environments for implementing EJB applications
Master Thesis An Introduction to the Enterprise JavaBeans technology and Integrated Development Environments for implementing EJB applications Daniela Novak Vienna University of Economics and Business
More informationBEAAquaLogic. Service Bus. Interoperability With EJB Transport
BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking
More informationInterconnection of Distributed Components: An Overview of Current Middleware Solutions *
Interconnection of Distributed Components: An Overview of Current Middleware Solutions * Susan D. Urban, Suzanne W. Dietrich, Akash Saxena, and Amy Sundermier Arizona State University Department of Computer
More informationIn 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"Charting the Course... Mastering EJB 3.0 Applications. Course Summary
Course Summary Description Our training is technology centric. Although a specific application server product will be used throughout the course, the comprehensive labs and lessons geared towards teaching
More informationAppendix 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 informationDeveloping Portable Applications for the Java 2 Platform, Enterprise Edition (J2EE )
Developing Portable Applications for the Java 2 Platform, Enterprise Edition (J2EE ) Kevin Osborn, Philippe Hanrigou, Lance Andersen Sun Microsystems, Inc. Goal Learn how to develop portable applications
More informationOracle Developer Day Agenda
Oracle er Day Agenda 9.00 am 9:55 am 10:45 am 11:35 am 12.20 pm 1.15 pm 2.00 pm 2.30 pm SOA & The Agile Enterprise ing Enterprise JavaBeans EJB 3.0 ing Web Services Integrating Services with BPEL Lunch
More informationComponent-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 informationIntroduction. 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 informationEnterprise 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 information8. Component Software
8. Component Software Overview 8.1 Component Frameworks: An Introduction 8.2 OSGi Component Framework 8.2.1 Component Model and Bundles 8.2.2 OSGi Container and Framework 8.2.3 Further Features of the
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationGeneric Environment for Full Automation of Benchmarking
Generic Environment for Full Automation of Benchmarking Tomáš Kalibera 1, Lubomír Bulej 1,2,Petr Tůma 1 1 Distributed Systems Research Group, Department of Software Engineering Faculty of Mathematics and
More information(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 informationSun Java Studio Creator. Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan)
Sun Java Studio Creator Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan) Agenda Background Developer characteristics Corporate developers Sun Java Studio Creator
More informationDistributed 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 informationIBM. Application Development with IBM Rational Application Developer for Web Sphere
IBM 000-257 Application Development with IBM Rational Application Developer for Web Sphere Download Full Version : https://killexams.com/pass4sure/exam-detail/000-257 A. Add a new custom finder method.
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationAn Event Service Implemented with J2EE for Integration of Enterprise Systems
Master s Thesis in Computer Science An Event Service Implemented with J2EE for Integration of Enterprise Systems by Markus Wurz Department of Microelectronics and Information Technology, Royal Institute
More informationSUN Sun Cert Bus Component Developer Java EE Platform 5, Upgrade. Download Full Version :
SUN 310-092 Sun Cert Bus Component Developer Java EE Platform 5, Upgrade Download Full Version : https://killexams.com/pass4sure/exam-detail/310-092 D. A javax.ejb.nosuchentityexception is thrown. Answer:
More informationTopics. Advanced Java Programming. Transaction Definition. Background. Transaction basics. Transaction properties
Advanced Java Programming Transactions v3 Based on notes by Wayne Brooks & Monson-Haefel, R Enterprise Java Beans 3 rd ed. Topics Transactions background Definition, basics, properties, models Java and
More informationEnterprise 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 informationLab2: CMP Entity Bean working with Session Bean
Session Bean The session bean in the Lab1 uses JDBC connection to retrieve conference information from the backend database directly. The Lab2 extends the application in Lab1 and adds an new entity bean
More informationChapter 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 informationPASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year
PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 0B0-105 Title : BEA8.1 Certified Architect:Enterprise Architecture Vendors
More informationCOWLEY 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 informationEvaluation of Business Rules Maintenance in Enterprise Information Systems
POSTER 2015, PRAGUE MAY 14 1 Evaluation of Business Rules Maintenance in Enterprise Information Systems Karel CEMUS Dept. of Computer Science, Czech Technical University, Technická 2, 166 27 Praha, Czech
More informationthese 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 informationENTERPRISE 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 informationOracle-based Mode-change Propagation in Hierarchical Components.
Oracle-based Mode-change Propagation in Hierarchical Components. http://d3s.mff.cuni.cz Tomas Pop, Frantisek Plasil, Matej Outly, Michal Malohlava, Tomas Bures Tomas.Pop@d3s.mff.cuni.cz CHARLES UNIVERSITY
More informationDeccansoft 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 informationOracle9iAS TopLink. 1 TopLink CMP for BEA WebLogic Server. 1.1 EJB 2.0 Support. CMP-Specific Release Notes
Oracle9iAS TopLink CMP-Specific Release Notes Release 2 (9.0.3) August 2002 Part No. B10161-01 These release notes include information on using Oracle9iAS TopLink Release 2 (9.0.3) with the following CMPs:
More informationSoftware Components and Distributed Systems
Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design
More informationVision 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 informationEnterprise JavaBeans (EJB) security
Enterprise JavaBeans (EJB) security Nasser M. Abbasi sometime in 2000 page compiled on August 29, 2015 at 8:27pm Contents 1 Introduction 1 2 Overview of security testing 1 3 Web project dataflow 2 4 Test
More information1Z Oracle. Java Enterprise Edition 5 Business Component Developer Certified Professional Upgrade
Oracle 1Z0-861 Java Enterprise Edition 5 Business Component Developer Certified Professional Upgrade Download Full Version : https://killexams.com/pass4sure/exam-detail/1z0-861 A. The Version attribute
More informationOutline. Chapter 5 Application Server Middleware. Types of application server middleware. TP monitors CORBA Server-side components and EJB Summary
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 5 Application Server Middleware Outline Types of application server
More informationEnterprise 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 informationBEAWebLogic Server. Monitoring and Managing with the Java EE Management APIs
BEAWebLogic Server Monitoring and Managing with the Java EE Management APIs Version 10.0 Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................
More informationDeveloping 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 informationCHAPTER 8 NOTE TO READER:
Chap8 Page 602 Thursday, December 9, 1999 2:50 PM CHAPTER 8 Servlets 604 The Enterprise JavaBeans Framework 613 Java 2 Enterprise Edition 650 Electronic Commerce Server Applications 651 Scaling Multitier
More informationExtracting Functional and Non-functional Contracts from Java Classes and Enterprise Java Beans
Extracting Functional and Non-functional Contracts from Java Classes and Enterprise Java Beans Nikola Milanovic, Miroslaw Malek Humboldt Universität zu Berlin {milanovi,malek}@informatik.hu-berlin.de Abstract
More informationTOPLink 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 informationCharacterising Resource Management Performance in Kubernetes. Appendices.
Characterising Resource Management Performance in Kubernetes. Appendices. Víctor Medel a, Rafael Tolosana-Calasanz a, José Ángel Bañaresa, Unai Arronategui a, Omer Rana b a Aragon Institute of Engineering
More information7. Implementation Phase. 7.1 Architecture Diagrams 7.2 OO Languages: Java 7.3 Constraint Languages: OCL
7. Implementation Phase 7.1 Architecture Diagrams 7.2 OO Languages: Java 7.3 Constraint Languages: OCL Architecture Design Models An architecture model (structure model) is a model of a data processing
More informationDesigning 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 informationMapping UML Component Specifications to JEE Implementations
Journal of Computer Science 3 (10): 780-785, 2007 ISSN 1549-3636 2007 Science Publications Mapping UML Component Specifications to JEE Implementations Jyhjong Lin Department of Information Management,
More information