Aspects of using Hibernate with CaptainCasa Enterprise Client
|
|
- Lilian Lane
- 8 years ago
- Views:
Transcription
1 Aspects of using Hibernate with CaptainCasa Enterprise Client We all know: there are a lot of frameworks that deal with persistence in the Java environment one of them being Hibernate. And there are a lot of different ways how to work with Hibernate. So this document only does not tell you the one and only way to use Hibernate within a CaptainCasa environment, but it talks about one way of using it. Nevertheless there are some principal thoughts that should always be of interest and, please note: the server side of CaptainCasa is based on JSF. So, what we talk about in this document is nothing, which is specific to CaptainCasa. Adding Hibernate to your Project Libraries Hibernate consist out of quite a lot libraries + dependent libraries. Add all these libraries into the WEB-INF/lib folder of your web content. The following screen shot shows the WEB-INF/lib folder after having added all Hibernate libraries: 1
2 You also see a hsqldb.jar which is a driver to the database that we are using (a small HSQL database). Configuration Files Add the following configuration files to the source folder of your project: A typical content of the log4j.properties files is: ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.target=system.out log4j.appender.stdout.layout=org.apache.log4j.patternlayout log4j.appender.stdout.layout.conversionpattern=%dabsolute %5p %c1:%l - %m%n ### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.fileappender #log4j.appender.file.file=hibernate.log #log4j.appender.file.layout=org.apache.log4j.patternlayout #log4j.appender.file.layout.conversionpattern=%dabsolute %5p %c1:%l - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootlogger=warn, stdout log4j.logger.org.hibernate=info #log4j.logger.org.hibernate=debug ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.ast=debug ### log just the SQL #log4j.logger.org.hibernate.sql=debug ### log JDBC bind parameters ### log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### #log4j.logger.org.hibernate.cache=debug ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.drivermanagerconnectionprovider=trace A typical content of the hibernate.cfg.xml file is: <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " <hibernate-configuration> 2
3 <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">org.hsqldb.jdbcdriver</property> <property name="connection.url">jdbc:hsqldb:hsql://localhost/isa</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.hsqldialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.nocacheprovider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property> <mapping resource="entities/database.hbm.xml"/> </session-factory> </hibernate-configuration> The hibernate configuration points to locally running hypersonic database (HSQL). There is a pointing to a mapping file contained in the source directory entities/database.hbm.xml - so all this is normal Hibernate The typical HibernateUtil class Add the typical HibernateUtil class to the project for having a singleton-access to the Hibernate SessionFactory: package hibernate; import org.hibernate.sessionfactory; import org.hibernate.cfg.configuration; public class HibernateUtil private static final SessionFactory s_sessionfactory; static try // Create the SessionFactory from hibernate.cfg.xml s_sessionfactory = new Configuration().configure().buildSessionFactory(); catch (Throwable ex) // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); public static SessionFactory getsessionfactory() return s_sessionfactory; 3
4 First test your Environment After having done the copying, it's not too bad to do some testing, if you can access the database Write an entity bean (in example below PersonEntity ) Set up the mapping (or use Hibernate annotations) Write a mini test page with an action listener doing some Hibernate operations Deploy this by reloading the application in the Layout Editor The entity bean might look like: package entities; public class PersonEntity String m_id; String m_firstname; String m_lastname; Boolean m_sex; String m_geburtsland; public String getgeburtsland() return m_geburtsland; public void setgeburtsland(string geburtsland) m_geburtsland = geburtsland; public Boolean getsex() return m_sex; public void setsex(boolean sex) m_sex = sex; public String getid() return m_id; public void setid(string id) m_id = id; public String getfirstname() return m_firstname; public void setfirstname(string firstname) m_firstname = firstname; public String getlastname() return m_lastname; public void setlastname(string lastname) m_lastname = lastname; The mapping file (in the example: entities/database.hbm.xml) might look like: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" " <hibernate-mapping> <class name="entities.personentity" table="person"> <id name="id" length="25" column="p_id" type="string" /> <property name="firstname" length="100" column="p_firstname"/> <property name="lastname" length="100" column="p_lastname"/> <property name="sex" column="p_sex"/> </class> </hibernate-mapping> And the simple bean that is bound to user interface ( managed bean ) might have the following action listener: public class TestUI public void ontest(actionevent event) try Session s = HibernateContext.getCurrentSession(); // query List<PersonEntity> pes = (List<PersonEntity>)s.createQuery 4
5 ( "from PersonEntity" ).list(); for (PersonEntity pe: pes) System.out.println(pe); // update Transaction t = HibernateContext.beginTransaction(); PersonEntity pe = new PersonEntity(); pe.setid(""+system.currenttimemillis()); pe.setfirstname("first"); pe.setlastname("last"); s.save(pe); HibernateContext.commit(); catch (Throwable t) t.printstacktrace(); When executing the action listener from the UI several times, you should see an increasing number of persons that are output to the console Typical Usage Patterns In principal you now can work with Hibernate in any way you like. You have the UI-classes (managed beans) that are bound to the UI processing, within these classes you can invoke any Java function that internally operated with the Hibernate objects, such as SessionFactory, Session, Transaction, Query etc. But: of course there are some usage patterns that you should be aware of: Typically there is one (and exactly one) SessionFactory for the database that you access. This is ensured due the HibernateUtil class that was mentioned in a previous chapter. Typically the life cycle of a Session-object should be very short. The Session-object should be valid during one request only, so it should be closed when the request that comes from the user interface client is finished and the response to the client is sent. - It is an absolute anti-pattern to have Session-objects that span multiple requests. Don't do this by accident! Typically all the code that is executed during a request should access the same Sessionobject. Same with transactions: everyone typically should used a shared transaction for one request, so that all updates that are done are in the same transaction. Now adding some typical Hibernate Usage Patterns Bind Hibernate Context Info to Thread In order to achieve the goals listed in the text above, it is a common pattern that these objects that are be shared during request processing are bound to the request thread. The concrete objects that we take about are: Session Transaction The binding to the thread is done by a class HibernateContext: 5
6 package hibernate; import java.util.hashtable; import java.util.map; import org.hibernate.session; import org.hibernate.transaction; public class HibernateContext static Map<Thread,HibernateContext> s_contextperthread = new Hashtable<Thread, HibernateContext>(); Session m_currentsession; Transaction m_currenttransaction; public static Session getcurrentsession() HibernateContext hc = getcurrentcontext(true); if (hc.m_currentsession == null) hc.m_currentsession = HibernateUtil.getSessionFactory().openSession(); return hc.m_currentsession; public static Transaction begintransaction() HibernateContext hc = getcurrentcontext(true); if (hc.m_currentsession == null) getcurrentsession(); if (hc.m_currenttransaction == null) hc.m_currenttransaction = hc.m_currentsession.begintransaction(); return hc.m_currenttransaction; public static void commit() HibernateContext hc = getcurrentcontext(false); if (hc == null) return; if (hc.m_currenttransaction!= null) hc.m_currenttransaction.commit(); hc.m_currenttransaction = null; public static void rollback() HibernateContext hc = getcurrentcontext(false); if (hc == null) return; if (hc.m_currenttransaction!= null) hc.m_currenttransaction.rollback(); hc.m_currenttransaction = null; public static void close() HibernateContext hc = getcurrentcontext(false); if (hc == null) return; if (hc.m_currenttransaction!= null) hc.m_currenttransaction.rollback(); if (hc.m_currentsession!= null) hc.m_currentsession.close(); s_contextperthread.remove(thread.currentthread()); System.out.println("HibernateContext - closed"); private static HibernateContext getcurrentcontext(boolean createnewifnotexists) HibernateContext hc = s_contextperthread.get(thread.currentthread()); if (createnewifnotexists == true && hc == null) hc = new HibernateContext(); s_contextperthread.put(thread.currentthread(),hc); return hc; 6
7 The typical lifecycle within the request processing is: HibernateContext.getCurrentSession() <== the session for querying etc. HibernateContext.beginTransaction() <== start update HiberanateContext.commit() / rollback() HibernateContext.close() <== remove the thread binding and clean up Session Because the methods are static they can be accessed everywhere within the call stack that is processed during a request processing. Of course there should be only limited functions that really are responsible for committing a transaction typically the most outside function that triggers an update. Enforced closing of Session at End of Request Now that during the request processing we made sure that we have a shared Session and a shared Transaction instance due to thread binding, we have to make sure as next step that these shared objects are reliably closed when a request processing is finished. An easy way to do so, is the usage of a servlet filter: package hibernate; import java.io.ioexception; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servletexception; import javax.servlet.servletrequest; import javax.servlet.servletresponse; public class HibernateContextFilter implements Filter public void init(filterconfig config) throws ServletException public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException try chain.dofilter(request,response); catch(throwable t) finally HibernateContext.close(); public void destroy() Please note: you need to embed servlet-api.jar (typically in tomcat/lib-directory) into your project libraries. The filter just makes sure that at the end of request processing the Hibernate instances 7
8 are closed. You have to register the filter in your web.xml file: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi=" xmlns=" xmlns:web=" xsi:schemalocation=" id="webapp_id" version="2.5"> <display-name>jsf1</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>hibernate.hibernatecontextfilter</filter-name> <filter-class>hibernate.hibernatecontextfilter</filter-class> </filter> <filter> <filter-name>org.eclnt.jsfserver.util.compressionfilter</filter-name> <filter-class>org.eclnt.jsfserver.util.compressionfilter</filter-class> </filter> <filter-mapping> <filter-name>hibernate.hibernatecontextfilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> Passing Hibernate POJOs into your Screens Now that you can access Hibernate in some structured way, you might look for the best option to directly bind the POJO instances coming from Hibernate into your screen. Example: you may want to render a list of Persons, each person being an instance of calls PersonEntity. 8
9 The logic for accessing the database is: public static List<PersonEntity> readallpersons(string firstname, String lastname) if (firstname == null) firstname = "%"; else firstname = "%" + firstname + "%"; if (lastname == null) lastname = "%"; else lastname = "%" + lastname + "%"; Session s = HibernateContext.getCurrentSession(); List<PersonEntity> pes = (List<PersonEntity>)s.createQuery ( "from PersonEntity where " + "firstname LIKE '"+firstname+"' and " + "lastname LIKE '"+lastname+"'" ).list(); return pes; The grid of the page is defined / filled in the following way: <t:row id="g_12"> <t:fixgrid id="g_13" height="100%" objectbinding="#d.personenlisteui.grid" sbvisibleamount="25" width="100%"> <t:gridcol id="g_14" text="column" width="100"> <t:label id="g_15" text=".pe.id" /> </t:gridcol> <t:gridcol id="g_16" text="column" width="50%"> <t:label id="g_17" text=".pe.firstname" /> </t:gridcol> <t:gridcol id="g_18" text="column" width="50%"> <t:label id="g_19" text=".pe.lastname" /> </t:gridcol> </t:fixgrid> </t:row> package managedbeans; import hibernate.hibernatecontext; 9
10 import java.io.serializable; import java.util.list; import javax.faces.event.actionevent; import logic.commitable; import logic.logic; import org.eclnt.editor.annotations.ccgenclass; import org.eclnt.jsfserver.elements.impl.fixgriditem; import org.eclnt.jsfserver.elements.impl.fixgridlistbinding; import org.eclnt.jsfserver.pagebean.pagebean; import org.hibernate.session; import org.hibernate.transaction; import (expressionbase="#d.personenlisteui") public class PersonenListeUI extends PageBean implements Serializable public class GridItem extends FIXGRIDItem implements java.io.serializable PersonEntity i_pe; public GridItem(PersonEntity pe) i_pe = pe; public PersonEntity getpe() return i_pe; FIXGRIDListBinding<GridItem> m_grid = new FIXGRIDListBinding<GridItem>(); String m_searchlastname; String m_searchfirstname; // // constructors & initialization // public PersonenListeUI() public String getpagename() return "/isa/personenliste.jsp"; public String getrootexpressionusedinpage() return "#d.personenlisteui"; public String getsearchlastname() return m_searchlastname; public void setsearchlastname(string value) this.m_searchlastname = value; public String getsearchfirstname() return m_searchfirstname; public void setsearchfirstname(string value) this.m_searchfirstname = value; public FIXGRIDListBinding<GridItem> getgrid() return m_grid; public PersonEntity getnewperson() return m_newperson; public void onsearchaction(actionevent event) fillgrid(); private void fillgrid() m_grid.getitems().clear(); List<PersonEntity> pes = Logic.readAllPersons(m_searchFirstName,m_searchLastName); for (PersonEntity pe: pes) m_grid.getitems().add(new GridItem(pe)); 10
11 You see: The grid item class refers to the POJO instance (member i_pe ). In the grid column cell definition the properties of the POJO instance are referenced via.pe.<propertyname>. By using the POJO object directly you do not have to repeat all set/get-method definitions on item level, but directly bind the user interface controls to the POJO instance coming from the database. 11
Arjun V. Bala Page 20
12) Explain Servlet life cycle & importance of context object. (May-13,Jan-13,Jun-12,Nov-11) Servlet Life Cycle: Servlets follow a three-phase life cycle, namely initialization, service, and destruction.
More informationManaging Data on the World Wide-Web
Managing Data on the World Wide-Web Sessions, Listeners, Filters, Shopping Cart Elad Kravi 1 Web Applications In the Java EE platform, web components provide the dynamic extension capabilities for a web
More informationHibernate Reference Documentation. Version: 3.2 cr1
Hibernate Reference Documentation Version: 3.2 cr1 Table of Contents Preface... viii 1. Introduction to Hibernate... 1 1.1. Preface... 1 1.2. Part 1 - The first Hibernate Application... 1 1.2.1. The first
More informationCh-03 Web Applications
Ch-03 Web Applications 1. What is ServletContext? a. ServletContext is an interface that defines a set of methods that helps us to communicate with the servlet container. There is one context per "web
More informationConfigure a SOAScheduler for a composite in SOA Suite 11g. By Robert Baumgartner, Senior Solution Architect ORACLE
Configure a SOAScheduler for a composite in SOA Suite 11g By Robert Baumgartner, Senior Solution Architect ORACLE November 2010 Scheduler for the Oracle SOA Suite 11g: SOAScheduler Page 1 Prerequisite
More informationNo no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
More informationDeveloping an EJB3 Application. on WebSphere 6.1. using RAD 7.5
Developing an EJB3 Application on WebSphere 6.1 using RAD 7.5 Introduction This tutorial introduces how to create a simple EJB 3 application using Rational Application Developver 7.5( RAD7.5 for short
More informationVisa Checkout September 2015
Visa Checkout September 2015 TABLE OF CONTENTS 1 Introduction 1 Integration Flow 1 Visa Checkout Partner merchant API Flow 2 2 Asset placement and Usage 3 Visa Checkout Asset Placement and Usage Requirements
More informationHibernate Reference Documentation
HIBERNATE - Relational Persistence for Idiomatic Java 1 Hibernate Reference Documentation 3.5.6-Final by Gavin King, Christian Bauer, Max Rydahl Andersen, Emmanuel Bernard, and Steve Ebersole and thanks
More informationPA165 - Lab session - Web Presentation Layer
PA165 - Lab session - Web Presentation Layer Author: Martin Kuba Goal Experiment with basic building blocks of Java server side web technology servlets, filters, context listeners,
More informationEnterprise Application Development In Java with AJAX and ORM
Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering p.grenyer@validus-ivc.co.uk http://paulgrenyer.blogspot.com
More informationClustering a Grails Application for Scalability and Availability
Clustering a Grails Application for Scalability and Availability Groovy & Grails exchange 9th December 2009 Burt Beckwith My Background Java Developer for over 10 years Background in Spring, Hibernate,
More informationJava EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java
Java EE Introduction, Content Component Architecture: Why and How Java EE: Enterprise Java The Three-Tier Model The three -tier architecture allows to maintain state information, to improve performance,
More informationSupporting Multi-tenancy Applications with Java EE
Supporting Multi-tenancy Applications with Java EE Rodrigo Cândido da Silva @rcandidosilva JavaOne 2014 CON4959 About Me Brazilian guy ;) Work for Integritas company http://integritastech.com Software
More informationWeb Container Components Servlet JSP Tag Libraries
Web Application Development, Best Practices by Jeff Zhuk, JavaSchool.com ITS, Inc. dean@javaschool.com Web Container Components Servlet JSP Tag Libraries Servlet Standard Java class to handle an HTTP request
More informationwww.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
More informationObject Relational Mapping for Database Integration
Object Relational Mapping for Database Integration Erico Neves, Ms.C. (enevesita@yahoo.com.br) State University of Amazonas UEA Laurindo Campos, Ph.D. (lcampos@inpa.gov.br) National Institute of Research
More informationLiferay Enterprise ecommerce. Adding ecommerce functionality to Liferay Reading Time: 10 minutes
Liferay Enterprise ecommerce Adding ecommerce functionality to Liferay Reading Time: 10 minutes Broadleaf + Liferay ecommerce + Portal Options Integration Details REST APIs Integrated IFrame Separate Conclusion
More informationDetermine the process of extracting monitoring information in Sun ONE Application Server
Table of Contents AboutMonitoring1 Sun ONE Application Server 7 Statistics 2 What Can Be Monitored? 2 Extracting Monitored Information. 3 SNMPMonitoring..3 Quality of Service 4 Setting QoS Parameters..
More informationSpring Security SAML module
Spring Security SAML module Author: Vladimir Schäfer E-mail: vladimir.schafer@gmail.com Copyright 2009 The package contains the implementation of SAML v2.0 support for Spring Security framework. Following
More informationServlet and JSP Filters
2009 Marty Hall Servlet and JSP Filters Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
More informationWeb Service Caching Using Command Cache
Web Service Caching Using Command Cache Introduction Caching can be done at Server Side or Client Side. This article focuses on server side caching of web services using command cache. This article will
More informationService Integration course. Cassandra
Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Service Integration course Cassandra Oszkár Semeráth Gábor Szárnyas
More informationPerformance Monitoring API for Java Enterprise Applications
Performance Monitoring API for Java Enterprise Applications Purpose Perfmon4j has been successfully deployed in hundreds of production java systems over the last 5 years. It has proven to be a highly successful
More informationJBoss Portlet Container. User Guide. Release 2.0
JBoss Portlet Container User Guide Release 2.0 1. Introduction.. 1 1.1. Motivation.. 1 1.2. Audience 1 1.3. Simple Portal: showcasing JBoss Portlet Container.. 1 1.4. Resources. 1 2. Installation. 3 2.1.
More informationBy Wick Gankanda Updated: August 8, 2012
DATA SOURCE AND RESOURCE REFERENCE SETTINGS IN WEBSPHERE 7.0, RATIONAL APPLICATION DEVELOPER FOR WEBSPHERE VER 8 WITH JAVA 6 AND MICROSOFT SQL SERVER 2008 By Wick Gankanda Updated: August 8, 2012 Table
More informationBuilding Web Applications, Servlets, JSP and JDBC
Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing
More informationDocumentum Developer Program
Program Enabling Logging in DFC Applications Using the com.documentum.fc.common.dflogger class April 2003 Program 1/5 The Documentum DFC class, DfLogger is available with DFC 5.1 or higher and can only
More informationCHAPTER 9: SERVLET AND JSP FILTERS
Taken from More Servlets and JavaServer Pages by Marty Hall. Published by Prentice Hall PTR. For personal use only; do not redistribute. For a complete online version of the book, please see http://pdf.moreservlets.com/.
More informationControlling Web Application Behavior
2006 Marty Hall Controlling Web Application Behavior The Deployment Descriptor: web.xml JSP, Servlet, Struts, JSF, AJAX, & Java 5 Training: http://courses.coreservlets.com J2EE Books from Sun Press: http://www.coreservlets.com
More informationEhcache Web Cache User Guide. Version 2.9
Ehcache Web Cache User Guide Version 2.9 October 2014 This document applies to Ehcache Version 2.9 and to all subsequent releases. Specifications contained herein are subject to change and these changes
More informationPicketLink Federation User Guide 1.0.0
PicketLink Federation User Guide 1.0.0 by Anil Saldhana What this Book Covers... v I. Getting Started... 1 1. Introduction... 3 2. Installation... 5 II. Simple Usage... 7 3. Web Single Sign On (SSO)...
More informationCreating Java EE Applications and Servlets with IntelliJ IDEA
Creating Java EE Applications and Servlets with IntelliJ IDEA In this tutorial you will: 1. Create IntelliJ IDEA project for Java EE application 2. Create Servlet 3. Deploy the application to JBoss server
More informationWeb Applications. For live Java training, please see training courses at
2009 Marty Hall Using and Deploying Web Applications Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
More informationBuilding Web Services with Apache Axis2
2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,
More informationWeb Application Architecture (based J2EE 1.4 Tutorial)
Web Application Architecture (based J2EE 1.4 Tutorial) 1 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee of Sun Microsystems, the contents here are created as his own personal
More informationChapter 1. JOnAS and JMX, registering and manipulating MBeans
Chapter 1. JOnAS and JMX, registering and manipulating MBeans Table of Contents 1.1. Introduction... 1 1.2. ServletContextListener... 1 1.3. Configuration... 4 1.4. Library Dependences... 4 1.5. HibernateService
More informationJava EE 6 New features in practice Part 3
Java EE 6 New features in practice Part 3 Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. License for use and distribution
More informationCore Java+ J2EE+Struts+Hibernate+Spring
Core Java+ J2EE+Struts+Hibernate+Spring Java technology is a portfolio of products that are based on the power of networks and the idea that the same software should run on many different kinds of systems
More informationMyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
More informationSoftware Construction
Software Construction Documentation and Logging Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can use Mock Objects
More informationOTN Developer Day Enterprise Java. Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics
OTN Developer Day Enterprise Java Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics I want to improve the performance of my application... Can I copy Java code to an HTML Extension? I coded
More informationULC Application Development Guide. Canoo RIA-Suite 2014 Update 2
ULC Application Development Guide Canoo RIA-Suite 2014 Update 2 Canoo Engineering AG Kirschgartenstrasse 5 CH-4051 Basel Switzerland Tel: +41 61 228 9444 Fax: +41 61 228 9449 ulc-info@canoo.com http://riasuite.canoo.com
More informationWeb Development in Java
Web Development in Java Detailed Course Brochure @All Rights Reserved. Techcanvass, 265, Powai Plaza, Hiranandani Garden, Powai, Mumbai www.techcanvass.com Tel: +91 22 40155175 Mob: 773 877 3108 P a g
More informationDrupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
More informationGetting Started with Telerik Data Access. Contents
Contents Overview... 3 Product Installation... 3 Building a Domain Model... 5 Database-First (Reverse) Mapping... 5 Creating the Project... 6 Creating Entities From the Database Schema... 7 Model-First
More informationJava 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
More informationConnecting Custom Services to the YAWL Engine. Beta 7 Release
Connecting Custom Services to the YAWL Engine Beta 7 Release Document Control Date Author Version Change 25 Feb 2005 Marlon Dumas, 0.1 Initial Draft Tore Fjellheim, Lachlan Aldred 3 March 2006 Lachlan
More informationTomcat 5 New Features
Tomcat 5 New Features ApacheCon US 2003 Session MO10 11/17/2003 16:00-17:00 Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Slides: http://www.apache.org/~craigmcc/ Agenda Introduction
More informationKeycloak SAML Client Adapter Reference Guide
Keycloak SAML Client Adapter Reference Guide SAML 2.0 Client Adapters 1.7.0.Final Preface... v 1. Overview... 1 2. General Adapter Config... 3 2.1. SP Element... 4 2.2. SP Keys and Key elements... 5 2.2.1.
More informationWhite Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation
White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility
More informationThe Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework
2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
More informationJSP. Common patterns
JSP Common patterns Common JSP patterns Page-centric (client-server) CLIENT JSP or Servlet CLIENT Enterprise JavaBeans SERVER DB Common JSP patterns Page-centric 1 (client-server) Page View request response
More informationMS Enterprise Library 5.0 (Logging Application Block)
International Journal of Scientific and Research Publications, Volume 4, Issue 8, August 2014 1 MS Enterprise Library 5.0 (Logging Application Block) Anubhav Tiwari * R&D Dept., Syscom Corporation Ltd.
More informationHow To Write A Web Framework In Java
Seam Framework Experience the Evolution of Java ЕЕ Second Edition Michael Juntao Yuan Jacob Orshalick Thomas Heute PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto
More informationSpagoBI exo Tomcat Installation Manual
SpagoBI exo Tomcat Installation Manual Authors Luca Fiscato Andrea Zoppello Davide Serbetto Review Grazia Cazzin SpagoBI exo Tomcat Installation Manual ver 1.3 May, 18 th 2006 pag. 1 of 8 Index 1 VERSION...3
More informationSpring Security 3. rpafktl Pen source. intruders with this easy to follow practical guide. Secure your web applications against malicious
Spring Security 3 Secure your web applications against malicious intruders with this easy to follow practical guide Peter Mularien rpafktl Pen source cfb II nv.iv I I community experience distilled
More informationJWIG Yet Another Framework for Maintainable and Secure Web Applications
JWIG Yet Another Framework for Maintainable and Secure Web Applications Anders Møller Mathias Schwarz Aarhus University Brief history - Precursers 1999: Powerful template system Form field validation,
More informationRapid Application Development. and Application Generation Tools. Walter Knesel
Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,
More informationSpecialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools A. NAME OF INSTITUTE Centre For Development of Advanced Computing B. NAME/TITLE OF THE COURSE C. COURSE DATES WITH DURATION
More informationWeb Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8)
Web Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8) Java Servlets: 1. Switch to the Java EE Perspective (if not there already); 2. File >
More informationEffective logging practices ease enterprise
1 of 9 4/9/2008 9:56 AM Effective logging practices ease enterprise development Establish a logging plan up front and reap rewards later in the development process Level: Intermediate Charles Chan (chancharles@gmail.com),
More informationTutorial for Spring DAO with JDBC
Overview Tutorial for Spring DAO with JDBC Prepared by: Nigusse Duguma This tutorial demonstrates how to work with data access objects in the spring framework. It implements the Spring Data Access Object
More informationDeveloping Web Views for VMware vcenter Orchestrator
Developing Web Views for VMware vcenter Orchestrator vcenter Orchestrator 5.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
More informationMyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy
MyOra 3.5 SQL Tool for Oracle User Guide Kris Murthy Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL Editor...
More informationWorkshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:
Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,
More informationIBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
More informationCONTROLLING WEB APPLICATION BEHAVIOR WITH
CONTROLLING WEB APPLICATION BEHAVIOR WITH WEB.XML Chapter Topics in This Chapter Customizing URLs Turning off default URLs Initializing servlets and JSP pages Preloading servlets and JSP pages Declaring
More informationACM Crossroads Student Magazine The ACM's First Electronic Publication
Page 1 of 8 ACM Crossroads Student Magazine The ACM's First Electronic Publication Crossroads Home Join the ACM! Search Crossroads crossroads@acm.org ACM / Crossroads / Columns / Connector / An Introduction
More informationHello World Portlet Rendered with JSP for WebSphere Portal Version 4.1
1 of 11 16.10.2002 11:41 Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1 Table of Contents Creating the directory structure Creating the Java code Compiling the code Creating the
More informationActiveVOS Server Architecture. March 2009
ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...
More informationOracle Hyperion Financial Management Custom Pages Development Guide
Oracle Hyperion Financial Management Custom Pages Development Guide CONTENTS Overview... 2 Custom pages... 2 Prerequisites... 2 Sample application structure... 2 Framework for custom pages... 3 Links...
More informationArpViewer Manual Version 1.0.6 Datum 30.9.2007
SWITCHaai ArpViewer Manual Version 1.0.6 Datum 30.9.2007 AAI C.Witzig Content 1. Introduction...3 2. Functional Description...3 3. Description of the Components...3 3.1. Arpfilter...3 3.2. Controller...4
More informationHow to Enable Quartz Job Execution Log Interception In Applications. J u n e 26, 2 0 1 5
How to Enable Quartz Job Execution Log Interception In Applications J u n e 26, 2 0 1 5 Table of Contents 1. PURPOSE. 3 2. DEFINITIONS.. 4 3. ENABLING LOG MESSAGE INTERCEPTION.. 5 3.1 LOGBACK 5 3.2 LOG4J
More informationRational Application Developer Performance Tips Introduction
Rational Application Developer Performance Tips Introduction This article contains a series of hints and tips that you can use to improve the performance of the Rational Application Developer. This article
More informationRunning and Testing Java EE Applications in Embedded Mode with JupEEter Framework
JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 53-69 Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework Marcin Kwapisz 1 1 Technical University of Lodz Faculty
More informationAthena Framework Java Developer's Guide
Athena Framework Java Developer's Guide AthenaSource Published Mar 2011 Table of Contents 1. Introduction to Athena Framework for Java... 1 1.1. Overview of Athena Framework... 1 1.2. Where is Metadata
More informationQuartz.Net Scheduler in Depth
Quartz.Net Scheduler in Depth Introduction What is a Job Scheduler? Wikipedia defines a job scheduler as: A job scheduler is a software application that is in charge of unattended background executions,
More informationCrystal Reports XI. Overview. Contents. Understanding the CRConfig.xml File
Understanding the Config.xml File Overview This document provides information about the Config.xml configuration file that is shipped with Crystal Reports XI. In particular, this document discusses the
More informationWhite Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems
White Paper March 1, 2005 Integrating AR System with Single Sign-On (SSO) authentication systems Copyright 2005 BMC Software, Inc. All rights reserved. BMC, the BMC logo, all other BMC product or service
More informationOracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i
Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i $Q2UDFOH7HFKQLFDO:KLWHSDSHU 0DUFK Secure Web.Show_Document() calls to Oracle Reports Server 6i Introduction...3 solution
More informationWebSphere Server Administration Course
WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What
More informationFinancial Big Data Loosely coupled, highly structured. Andrew Elmore
Financial Big Data Loosely coupled, highly structured Andrew Elmore Agenda Why traditional RDBMSs aren t an ideal fit Why storage format is important Using NoSQL stores to store & query financial data
More informationWEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9
UNIT I J2EE Platform 9 Introduction - Enterprise Architecture Styles - J2EE Architecture - Containers - J2EE Technologies - Developing J2EE Applications - Naming and directory services - Using JNDI - JNDI
More informationIBM WebSphere Server Administration
IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion
More informationDevelopment of Web Applications
Development of Web Applications Principles and Practice Vincent Simonet, 2013-2014 Université Pierre et Marie Curie, Master Informatique, Spécialité STL 3 Server Technologies Vincent Simonet, 2013-2014
More informationCONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1
CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1 BUSINESS LOGIC FOR TRANSACTIONAL EJB ARCHITECTURE JAVA PLATFORM Last Update: May 2011 Table of Contents 1 INSTALLING WEBSPHERE 6.1 2 2 BEFORE
More informationJSP Java Server Pages
JSP - Java Server Pages JSP Java Server Pages JSP - Java Server Pages Characteristics: A way to create dynamic web pages, Server side processing, Based on Java Technology, Large library base Platform independence
More informationWebSphere and Message Driven Beans
WebSphere and Message Driven Beans 1 Messaging Messaging is a method of communication between software components or among applications. A messaging system is a peer-to-peer facility: A messaging client
More informationJAVA r VOLUME II-ADVANCED FEATURES. e^i v it;
..ui. : ' :>' JAVA r VOLUME II-ADVANCED FEATURES EIGHTH EDITION 'r.", -*U'.- I' -J L."'.!'.;._ ii-.ni CAY S. HORSTMANN GARY CORNELL It.. 1 rlli!>*-
More informationJAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. JAVA ENTERPRISE IN A NUTSHELL Third Edition Jim Farley and William
More informationCERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide
CERTIFIED MULESOFT DEVELOPER EXAM Preparation Guide v. November, 2014 2 TABLE OF CONTENTS Table of Contents... 3 Preparation Guide Overview... 5 Guide Purpose... 5 General Preparation Recommendations...
More informationCSE 530A Database Management Systems. Introduction. Washington University Fall 2013
CSE 530A Database Management Systems Introduction Washington University Fall 2013 Overview Time: Mon/Wed 7:00-8:30 PM Location: Crow 206 Instructor: Michael Plezbert TA: Gene Lee Websites: http://classes.engineering.wustl.edu/cse530/
More informationModel-View-Controller. and. Struts 2
Model-View-Controller and Struts 2 Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request,
More informationCrystal Reports Integration Plugin for JIRA
Crystal Reports Integration Plugin for JIRA Copyright 2008 The Go To Group Page 1 of 7 Table of Contents Crystal Reports Integration Plugin for JIRA...1 Introduction...3 Prerequisites...3 Architecture...3
More informationUsing Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms
Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Mohammed M. Elsheh and Mick J. Ridley Abstract Automatic and dynamic generation of Web applications is the future
More informationWebObjects Web Applications Programming Guide. (Legacy)
WebObjects Web Applications Programming Guide (Legacy) Contents Introduction to WebObjects Web Applications Programming Guide 6 Who Should Read This Document? 6 Organization of This Document 6 See Also
More informationConfiguring ActiveVOS Identity Service Using LDAP
Configuring ActiveVOS Identity Service Using LDAP Overview The ActiveVOS Identity Service can be set up to use LDAP based authentication and authorization. With this type of identity service, users and
More informationWIRIS quizzes web services Getting started with PHP and Java
WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS
More informationOracle WebLogic Server
Oracle WebLogic Server Monitoring and Managing with the Java EE Management APIs 10g Release 3 (10.3) July 2008 Oracle WebLogic Server Monitoring and Managing with the Java EE Management APIs, 10g Release
More information