IBM WebSphere Application Server. J2EE Programming Model Best Practices
|
|
- Neil Shelton
- 6 years ago
- Views:
Transcription
1 IBM WebSphere Application Server J2EE Programming Model Best Practices
2 Requirements Matrix There are four elements of the system requirements: business process and application flow dynamic and static aspects of each Models Dynamic Static Business Process (contract) Application Flow (user role) Units of work User initiated events Persistent data Visible data
3 What our business does create() modify line item add line item Entry submit() cancel() assign() Fulfillment [not all items pack line item Packer Marketing ship (shipper) [all items Completed purge
4 What our business does (cont.) Entry static object model show business objects, associated properties and relationships units of work from dynamic model should be in terms of these +sku + open Line Item quantity +product customer
5 An example application flow dynamic model 's application flow dynamic model high level requirements captured in a STD of a customer transitions may trigger events on the underlying BPM We will examine best practices in terms of the application flow for the customer of an "on line mall"... [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result (order) submit [quantity < 0] {create order} open Submit {submit order} Open
6 An example application flow static model application flow static model one "entry point" object per state attributes and relationships show dynamic content products items orders productid Line Item productid quantity Result message action
7 Web enabled distributed object based Can be considered as a "thin" n-tier architecture Browser HTTP Web Application Server Distributed IIOP Object Server??? Enterprise Logic/Data Server productid products items orders Line Item productid quantity Result message action Application flow static model [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge sku Line Item quantity product 0..1 customer Business process static model open advantage 1: client need not install anything because browsers are everywhere advantage 2: business logic does not execute on web server farm, eliminating need for enterprise access advantage 3: can share and load balance both application flow and business logic disadvantage: long end-to-end pathlength
8 Programming model overview After determining the basic architecture, the next step is to understand the programming model and design issues for each tier: components that you develop hosted on that tier mechanisms used to flow control between components sources used to flow data between components Component Control Flow Data Source Browser HTML, XML, Framesets HTTP requests, JavaScript URL Query String, POST Data, Coies Application Server Servlets, Java Server Pages, Java Beans sendredirect(), forward(), include() Request, Session, Servlet Context Distributed Object Server Session EJB, Entity EJB, Java Beans RMI/IIOP JNDI, JDBC, others Enterprise Server BMP Entity EJB, SessionSynch EJB beforexxx(), afterxxx(), ejbxxx() JNDI, JDBC, others
9 Browser hosted components First, we will lo at various approaches that make use of browser hosted components, like HTML, XML, Framesets and Applets Browser HTTP Web Application Server Distributed IIOP Object Server??? Enterprise Logic/Data Server products items orders Line Item Result productid productid message action quantity Application flow static model [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge sku Line Item quantity product 0..1 customer Business process static model open Component Control Flow Data Source Browser HTML, XML, Framesets HTTP requests, JavaScript URL Query String, POST Data, Coies
10 Composing pages in our example How would you use framesets or composed pages to map multiple related states into a single page? Navigation area (order) open [qty = 0] {add item } add to order Cancel cancel {cancel order} Result area edit line item {modify item } Result [qty < 0] submit {create order} Submit {submit order} Open
11 Using custom composed pages (order) open [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] submit {create order} Submit {submit order} Open
12 Browser control flow mechanisms Next, we will lo at when to apply various browser managed control flow mechanisms like HTTP requests, JavaScript and Java applet UI events Browser HTTP Web Application Server Distributed IIOP Object Server??? Enterprise Logic/Data Server products items orders Line Item Result productid productid message action quantity Application flow static model [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge sku Line Item quantity product 0..1 customer Business process static model open Component Control Flow Data Source Browser HTML, XML, Framesets HTTP requests, JavaScript URL Query String, POST Data, Coies
13 Browser controlled data sources Finally, we will lo at when to apply various browser controlled data sources like URL query strings, POST data and Coies Browser HTTP Web Application Server Distributed IIOP Object Server??? Enterprise Logic/Data Server products items orders Line Item Result productid productid message action quantity Application flow static model [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge sku Line Item quantity product 0..1 customer Business process static model open Component Control Flow Data Source Browser HTML, XML, Framesets HTTP requests, JavaScript URL Query String, POST Data, Coies
14 Web page design summary Rule of thumb: separate concerns and minimize the number and size of trips to the server without duplicating logic on the client Component HTML XML/XSL Frame/Windows Control Flow HTTP GET HTTP POST JavaScript Data Source URL query string POST data Coies Best use specify both format and data for a given state encapsulate state data independently of format consolidate multiple states related to same task Best use read only transitions (flow into a state) update transitions (flow out of a state with side effects) confirmations, syntactic validations, menus and lists Best Use keys and other query data to next state unlimited amounts of form data for updates data used across the session or multiple sessions
15 Application server hosted components First, we need a brief overview of the types of components that can be hosted on a web application server, like Servlets, Java Server Pages, and Java Beans... Browser HTTP Web Application Server Distributed IIOP Object Server??? Enterprise Logic/Data Server productid products items orders Line Item productid quantity Result message action Application flow static model (order) open {create order} Open add to order cancel submit edit line item [qty < 0] Cancel [qty = 0] {modify item Submit } {add item {cancel order} } Result {submit order} Application flow dynamic model create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge sku Line Item quantity product 0..1 customer Business process static model open Component Control Flow Data Source Application Server Servlets, Java Server Pages, Java Beans forward(), include(), sendredirect() Request, Session, Servlet Context
16 Application architecture mapping Now that we understand the basic component types, the next step is to choose an application architecture that maps physical tiers: Browser HTTP Web Application Server IIOP Distributed Object Server productid products items orders Line Item productid quantity Result message action Application flow static model [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge into logical components that execute in the application server tier: View Controller Model HTTP products items orders productid Line Item productid quantity Result message Application flow static model action JAVA [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open JAVA create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge IIOP
17 Application architecture mapping (cont.) Model components encapsulate: units of work for the business process logic to access any distributed object servers or back ends View components encapsulate: visible data for the application flow logic to render the data into the client browser language Controller components encapsulate: user initiated event handlers for the application flow logic to gather data from model components based on the request logic to drive the appropriate view components based on the result
18 Application server control & data flow (cont.) What are the control and data flow mechanisms we have seen so far? between what components? Source Target Control Flow Data Source Browser Web application server Web server Servlet or JSP HTTP GET, HTTP POST service(), doget(), dopost() Servlet or JSP Access bean Java method call We will lo at the following control flow mechanisms and associated data sources: URL query string, POST data, Coies HttpServletRequest, HttpServletResponse Data structure Java Bean Source Target Control Flow Data Source Servlet orjsp Servlet or JSP forward(), include(), sendredirect() Request, Session, Servlet Context
19 Application server supported data sources Finally, we will lo at other sources that can be used to pass data from one component to another, such as session state and servlet context Browser HTTP Web Application Server Distributed IIOP Object Server??? Enterprise Logic/Data Server productid products items orders Line Item productid quantity Result message action Application flow static model (order) open {create order} Open add to order cancel submit edit line item [qty < 0] Cancel [qty = 0] {modify item Submit } {add item {cancel order} } Result {submit order} Application flow dynamic model create() modify line item add line item Entry submit() cancel() Fulfillment Shipping ship (shipper) [all items [not all items pack line item Completed Business process dynamic model Marketing purge sku Line Item quantity product 0..1 customer Business process static model open Component Control Flow Data Source Application Server Servlets, Java Server Pages, Java Beans forward(), include(), sendredirect() Request, Session, Servlet Context
20 Application server data source issues There are some important issues to consider: what are the data sources and when do they best apply? where should you cache data to minimize back end accesses? We will discuss each issue separately
21 HttpSession Consider caching the data structure Java Bean for a state in HttpSession to eliminate extraneous back end accesses Client Web Browser {repeat} HTTP GET Servlet?... advantage 1: handles timeout {...} Web Application Server doget(req, res) req.getsession(false).getvalue("") null Servlet {get()} req.getsession(true).putvalue("", Bean) [session = <"", Bean>] "HTML for " HTTP GET... doget(req, res) {JSP} advantage 2: session req.getsession(false).getvalue("") shared across Bean contexts "HTML for " {JSP} problem: cache consistency!
22 HttpServlet design approaches Think about what would happen if we only created a single HttpServlet to control the entire application... advantage: only one object to code and administer (order) problem 1: only one programmer could work at a open time add to order {add item } better approach: one servlet per state with dynamic transitions cancel edit line item {modify item Cancel } {cancel order} Result submit {create order} Submit {submit order} Open problem 2: the code would be rather complex to handle all the states and transitions problem 3: can't use servlet level security, monitoring...
23 The "page composition" problem Think about how you would deal with the situation where framesets or named windows cannot be used on the client Result adding an item to the order redisplays catalog page want to reuse code to render "substates" of a given page Result selecting or adding an order displays details Result modifying an item, or submit/cancel redisplays order
24 HttpServlet inheritance Use inheritance and factor common behaviors into an extensible HttpServlet class hierarchy Client Web Browser HTTP GET Servlet? start=101 Web Application Server advantage 1: naming convention makes it easy to extend hierarchy advantage 2: subclass methods focus on gathering data, handling updates advantage 5: can develop lo and feel separately "HTML for starting at item 101" doget(req, res) advantage 3: inherited convenience methods make developing & maintaining even easier Servlet advantage 4: can declare final & abstract for enforcement dogetonlinebuying(req, res) include( "", req, res) Online Buying Servlet problem: minimizing back end accesses {check authorization: if not, forward to Login JSP} could modify include to generate XML instead {append directory of user's preferred language to name and forward} {catch errors: if any, forward to Error JSP; otherwise compose page}
25 Summary for HttpServlet design HTTPServlets control states and associated transitions JSPs generate the HTML view associated with state Data beans encapsulate data model needed by JSP doget() gathers data to display dopost() handles updates and flows to next state Use sendredirect after update actions to avoid reload problem Design JSPs so that they can be composed Capture common lo-and-feel in inherited HttpServlets rather than "gateway" servlets Let superclass servlet decide whether to call JSP or generate XML for return to XSLT enabled browsers
26 Summary for servlet design (cont.) HttpSession should only maintain easily recomputable values to avoid timeout problem Check keys & remove session to avoid cache consistency problems Use client-server affinity or persistent sessions to avoid cluster consistency problem ServletContext should only cache stable readonly data init method on HttpServlet can be used to load cache
27 HttpServlet design approaches Think about what happens when business logic is coded in the HttpServlet... advantage: code probably achieves the best response time problem 1: increases code complexity add to order {add item } problem 2: makes testing and debugging harder cancel edit line item {modify item Cancel } {cancel order} Result (order) submit {create order} Submit {submit order} open problem 5: reduces opportunities for reuse Open problem 4: reduces opportunities for parallel development by different roles problem 3: makes maintenance more difficult
28 Enterprise Java Bean design points In this section we will discuss techniques for designing Enterprise Java Beans that provide the benefits of distributed objects to any client application type Browser Web Distributed HTTP Application IIOP Object Server??? Server Enterprise Logic/Data Server productid products items orders Line Item productid quantity Result message action Application flow static model [qty = 0] {add item } add to order Cancel cancel {cancel order} edit line item {modify item } Result [qty < 0] (order) submit Application flow dynamic model {create order} {submit order} open Submit Open add line item create() Shipping Marketing ship (shipper) Entry submit() [all items Fulfillment modify line item Completed purge cancel() [not all items pack line item Business process dynamic model sku Line Item quantity product 0..1 customer Business process static model open Component Control Flow Data Source Distributed Object Server Session EJB, Entity EJB, Java Beans Java, RMI/IIOP JNDI, JDBC, JMS
29 Likely evolution of stateful session EJBs Initially used to cache commonly used session data minimizes calls to the back end serves as a shared cache (affinity is managed by container) Timeout and failover become issues update methods write non transient data to backing store custom creates use a parameter to load data from store some go as far as to use session synchronization (discussed later) in either case, cache and cluster consistency become issues Tends to defeat the purpose of a stateful session EJB as a simple shared cache starts sounding a lot like an entity EJB with bean managed persistence (discussed later) would be better of with an entity EJB with container managed persistence (also discussed later) As you might guess, this is a "worst practice" or "anti-pattern"
30 Real Best Practices Initially used to cache commonly used session data minimizes calls to the back end serves as a shared cache (affinity is managed by container) servlet clients need HTTPSession to keep handle mark all but "key data" as transient to optimize passivation Timeout and failover become issues update methods write transient data to backing store custom creates use "key data" to load transient data from store some go as far as to use session synchronization (discussed later) "key data" is still lost on node failure Tends to defeat the purpose of a stateful session EJB as a simple shared cache starts sounding a lot like an entity EJB with bean managed persistence (discussed later) would be better of with an entity EJB with container managed persistence (also discussed later)
31 Session Enterprise Java beans Consider a session Enterprise Java bean patterned after each business logic access bean to implement logic What are the classes and methods? create() modify line item add line item Entry submit() cancel() Fulfillment [not all items pack line item Packer Marketing ship (shipper) [all items Completed purge
32 Session Enterprise Java Beans Use a session EJB in a business logic access bean when required for scalability or isolation Servlet singleton() new() Entry Access [static instance = EntryAccess] EntryAccess getopen(1111) advantage 1: no business logic in web application server Data home.create() Entry (Session) Entry Entry getopen(1111) {get open order for customer 1111} Data remove() JNDI Initial Context [static instance=null] tradeoff: remote method call overhead loup("entry").narrow() [home = Entry] Entry advantage 2: can use caching to minimize home loups issue: business object access beans must deal with persistence and transactions
33 Entity Enterprise Java Beans Consider an entity EJB patterned after each business object access bean to implement peristence layer +sku + open Line Item quantity +product customer
34 Entity Enterprise Java Beans Use entity EJBs in business object access beans to handle persistence and transaction logic transparently Entry (Session) singleton() new() Access (Entity) new().loup("").narrow() JNDI Initial Context [home = ] advantage: persistence logic Access provided by EJB container get(1000) home.findbyprimarykey(1000) {find Entity EJB and load CMP fields} {new Data} getp i () v i problem: multiple {repeat} {set v i remotable gets and sets into Data} Data tradeoff: remotable method call overhead (usually co-deployed)
35 Best Practices for WAS V5.0 Local (versus remote) interfaces Traditional Remote (RMI) Local Interfaces Interface extends EJBObject Interface extends EJBLocalObject extends EJB extends EJBLocal Remote method calls More efficient local calls Location Independent Parms passed by value Client and EJB need to reside in the same JVM Parms passed by reference Remote exceptions thrown on methods Regular Java Exceptions Use narrow() to cast Use regular Java class cast
36 Dependent value classes public abstract Bean implements EntityBean {... // container-managed persistent fields... public abstract AddressData getshippingaddress(); public abstract void setshippingaddress(addressdata data); public abstract AddressData getbillingaddress(); public abstract void setbillingaddress(addressdata data); // method worth promoting to interface public Data getdata() { Data data = new Data();... data.shippingaddress = getshippingaddress(); data.billingaddress = getbillingaddress();... return data; } } <cmp-version>2.x</cmp-version> <abstract-schema-name> Bean </abstract-schema-name> <cmp-field id="cmpattribute_1"> <field-name>id</field-name> </cmp-field> <cmp-field id="cmpattribute_2"> <field-name>name</field-name> </cmp-field> <cmp-field id="cmpattribute_3"> <field-name> shippingaddress </field-name> </cmp-field> <cmp-field id="cmpattribute_4"> <field-name> billingaddress </field-name> </cmp-field> no need to flatten fields from dependent value classes in CMP fields best not to promote get/set fields, though even less crucial if local
37 EJB Query language (EJBQL) Design issue: how do you implement custom finders? single and multiple cardinality with and without CMR independent of relational name shipping billing open Address line1, line2, city, state zip, country Line Item customer shipper company
38 EJB Query language (EJBQL) After: custom finders specified in the deployment descriptor independent of persistence mechanism (theoretically) can follow relationships, avoiding complex joins in finders Local definition: public interface extends EJBLocal { public create( Data data ) throws CreateException; } public findbyprimarykey( Key key ) throws FinderException; public Collection findsinstate( String ) throws FinderException; Deployment descriptor fragment: <entity id="containermanagedentity_3"> <ejb-name></ejb-name>... <query> <query-method> <method-name>findsinstate</method.. <method-intf>local</method-intf> <method-params> <method-param>string</method-param> </method-params> </query-method> <ejb-ql>select object(o) from o WHERE o.=?1 </ejb-ql> </query> </entity>
39 Message Driven Beans (MDB) Design issue: how do you enable asynchronous processing? loose coupling, but with reliable delivery and 2PC usually associated with major transitions in the business process create() modify line item add line item Entry submit() cancel() [no items] assign() Fulfillment pack line item Shipping Marketing ship (shipper) [all items Completed purge [items to ship]
40 Message Driven Beans (MDB) develop/generate a message driven bean (MDB) for major transitions get container managed messaging (CMM) qualities of service clients send messages through JMS to trigger MDB Typical Message Driven Bean class: public class SubmitMsgHandler implements MessageDrivenBean { private transient MessageDrivenContext context = null; public void ejbcreate() {} public void ejbremove() {} public void setmessagedrivencontext(messagedrivencontext mdc) { context = mdc; } // Message acknowledge and database update participate public void onmessage(message inmessage) { SubmitMsg msg = (SubmitMsg) inmessage; try { // The access bean passes thru to the session EJB to handle unit of work FulfillmentAccess.singleton().submit(msg.order); } catch(hasnoitemsexception e) { // The access bean passes thru to the session EJB which sends another message FulfillmentAccess.singleton().alert(e); } }
41 Message Driven Beans (MDB) may want to use local interface to session as "alternate" access path however, co-deployment and no local calls perform nearly as well Session Client Access 1. Jav a Java 11. Session Remote Interface IIOP 10. Session Bean Impl Jav a Java Entity Client Access Java Entity Local Interface Jav a J2EE Client App Session Local Interface Entity Bean Impl Jav a Web Services Client 13. HTTP 26. Web Services Servlet 14. Java 25. Session Alternate Access 28. Java Message Driven Bean 27. JMS Asynch Services Client
42 Summary for EJB design Consider session EJBs in business logic access bean to get benefits of distribution Use stateless session EJB s wherever possible to maximize scalability characteristics of application Only use stateful session EJBs when timeout and failover of cache are not issues, otherwise choose entity EJBs Consider entity EJBs in business object access beans to separate business logic from persistence logic Use custom creates, finds, gets, sets and updates in entities to minimize number of remotable calls Treat all entity EJBs as CMPs when programming for functional requirements
Session E118011: Best practices for developing WebSphere based applications
Session E118011: Best practices for developing Sphere based applications Geoff Hambrick Executive Consultant IBM Sphere Enablement Team August 14-17, 2000 Sphere best practices The challenges, part 1 Want
More informationOracle 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 informationImplementing 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 informationJ2EE 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 informationJ2EE - 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 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 informationNetBeans 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 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 informationJava 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 informationJava/J2EE Interview Questions(255 Questions)
Java/J2EE Interview Questions(255 Questions) We are providing the complete set of Java Interview Questions to the Java/J2EE Developers, which occurs frequently in the interview. Java:- 1)What is static
More informationUnderstanding and Designing with EJB
Understanding and Designing with EJB B.Ramamurthy Based on j2eetutorial documentation. http://java.sun.com/j2ee/tutorial/1_3-fcs/index.html 3/31/2003 1 Review Request/Response Model Distributed Objects:
More informationOverview 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 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 informationindex_ 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 informationFast 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 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 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 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 informationAdvanced Java Programming
Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In
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 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 informationServices Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
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 informationThis course is intended for Java programmers who wish to write programs using many of the advanced Java features.
COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,
More 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 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 informationFast Track to EJB 3.0 and the JPA Using JBoss
Fast Track to EJB 3.0 and the JPA Using JBoss The Enterprise JavaBeans 3.0 specification is a deep overhaul of the EJB specification that is intended to improve the EJB architecture by reducing its complexity
More informationOracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.
Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test
More informationJava- 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~ 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 informationIBM WebSphere Application Server V4.0. Performance. 10/02/01 Copyright 2001 IBM Corporation WS40ST11.prz Page 248 of of 28
IBM WebSphere Application Server V4.0 Performance Page 248 of 401 1 of 28 Performance Enhancements to WebSphere V4.0 Performance Enhancement Overview Dynamic Caching of Servlets/JSPs Performance Monitoring
More informationWeb Application Development Using JEE, Enterprise JavaBeans and JPA
Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.
More informationWeb Application Development Using JEE, Enterprise JavaBeans and JPA
Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.
More informationOracle9iAS 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 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 informationExam Questions 1Z0-895
Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale
More informationHttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests
What is the servlet? Servlet is a script, which resides and executes on server side, to create dynamic HTML. In servlet programming we will use java language. A servlet can handle multiple requests concurrently.
More informationCERTIFICATION 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 informationEnterprise 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 informationIntroduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1
Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3
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 informationDeveloping a Mobile Web-based Application with Oracle9i Lite Web-to-Go
Developing a Mobile Web-based Application with Oracle9i Lite Web-to-Go Christian Antognini Trivadis AG Zürich, Switzerland Introduction More and more companies need to provide their employees with full
More informationData 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 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 informationEnterprise JavaBeans, Version 3 (EJB3) Programming
Enterprise JavaBeans, Version 3 (EJB3) Programming Description Audience This course teaches developers how to write Java Enterprise Edition (JEE) applications that use Enterprise JavaBeans, version 3.
More 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 informationSUN 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 informationCMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition
CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need
More information(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 information1Z 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 informationIntroduction 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 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 informationJava 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 informationJava 2 Platform, Enterprise Edition: Platform and Component Specifications
Table of Contents Java 2 Platform, Enterprise Edition: Platform and Component Specifications By Bill Shannon, Mark Hapner, Vlada Matena, James Davidson, Eduardo Pelegri-Llopart, Larry Cable, Enterprise
More informationJavaEE 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 informationIBM. Enterprise Application Development with IBM Web Sphere Studio, V5.0
IBM 000-287 Enterprise Application Development with IBM Web Sphere Studio, V5.0 Download Full Version : http://killexams.com/pass4sure/exam-detail/000-287 QUESTION: 90 Which of the following statements
More informationModel Driven Architecture
IBM Software Group Model Driven Architecture The first (and last) step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com Model Driven Architecture
More informationFast Track to Java EE 5 with Servlets, JSP & JDBC
Duration: 5 days Description Java Enterprise Edition (Java EE 5) is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive
More informationCOURSE DETAILS: CORE AND ADVANCE JAVA Core Java
COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract
More informationJ2EE: 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 informationIntroduction to JSP and Servlets Training 5-days
QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic
More informationProjects. 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 information1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions
1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...
More informationCO 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 informationJVA-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 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 informationProblems 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 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 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 informationCourse 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 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 informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationAsynchrone Kommunikation mit Message Driven Beans
Asynchrone Kommunikation mit Message Driven Beans Arnold Senn (Technical Consultant) asenn@borland.com Outline Why Messaging Systems? Concepts JMS specification Messaging Modes Messages Implementation
More informationEnterprise Software Architecture & Design
Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed
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 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 informationArchitect 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 informationA domain model-centric approach to J2EE development. Keiron McCammon CTO Versant Corporation
A domain model-centric approach to J2EE development Keiron McCammon CTO Versant Corporation 1 Patterns of Enterprise Application Architecture Martin Fowler, at. al. Overview What is a domain model centric
More informationJ2EE Web Development 13/1/ Application Servers. Application Servers. Agenda. In the beginning, there was darkness and cold.
1. Application Servers J2EE Web Development In the beginning, there was darkness and cold. Then, mainframe terminals terminals Centralized, non-distributed Agenda Application servers What is J2EE? Main
More informationWebSphere Application Server - Overview
IBM Italia SpA WebSphere Application Server - Overview Marco Dragoni IBM Software Group Technical Sales Specialist IBM Italia S.p.A. Milan, 07 January 2008 2007 IBM Corporation Agenda IBM Value Assessment
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More informationMulti-tier architecture performance analysis. Papers covered
Multi-tier architecture performance analysis Papers covered Emmanuel Cecchet, Julie Marguerie, Willy Zwaenepoel: Performance and Scalability of EJB Applications. OOPSLA 02 Yan Liu, Alan Fekete, Ian Gorton:
More 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 informationEnterprise 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 informationMigration Technical Resources. Angelo Santagata EMEA Partner Technical Services Oracle Server Technologies
Migration Technical Resources Angelo Santagata EMEA Partner Technical Services Oracle Server Technologies Introduction If you are successful then so are we Knowledge is the key to a successful migration
More informationVendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo
Vendor: SUN Exam Code: 310-051 Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY Version: Demo QUESTION NO: 1 Which acts as a proxy to an EJB? A. home instance B. remote instance C.
More informationWhat's New in ActiveVOS 7.1 Includes ActiveVOS 7.1.1
What's New in ActiveVOS 7.1 Includes ActiveVOS 7.1.1 2010 Active Endpoints Inc. ActiveVOS is a trademark of Active Endpoints, Inc. All other company and product names are the property of their respective
More informationive JAVA EE C u r r i c u l u m
C u r r i c u l u m ive chnoworld Development Training Consultancy Collection Framework - The Collection Interface(List,Set,Sorted Set). - The Collection Classes. (ArrayList,Linked List,HashSet,TreeSet)
More informationType of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes
Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple
More informationOracle - 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 informationEnterprise JavaBeans TM
Enterprise JavaBeans TM Linda DeMichiel Sun Microsystems, Inc. Agenda Quick introduction to EJB TM Major new features Support for web services Container-managed persistence Query language Support for messaging
More informationSERVLETS INTERVIEW QUESTIONS
SERVLETS INTERVIEW QUESTIONS http://www.tutorialspoint.com/servlets/servlets_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Servlets Interview Questions have been designed especially
More informationJava EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module
Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services
More 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 informationCOURSE 9 DESIGN PATTERNS
COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model
More informationIt Is a Difficult Question! The Goal of This Study. Specification. The Goal of This Study. History. Existing Benchmarks
It Is a Difficult Question! J2EE and.net Reloaded Yet Another Performance Case Study The Middleware Company Case Study Team Presented by Mark Grechanik How to compare two functionally rich platforms? Benchmarks?
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationTable of Contents. Introduction... xxi
Introduction... xxi Chapter 1: Getting Started with Web Applications in Java... 1 Introduction to Web Applications... 2 Benefits of Web Applications... 5 Technologies used in Web Applications... 5 Describing
More 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 information