Questions JBoss Q: What are the differences between EJB 3.0 and EJB 2.0 ? R: The major differences i have seen between EJB 2.x and EJB 3.0 versions are as follows :- 1). Removal of home interface enabled simple lookup process in ejb 3.0 2). EJB deployment descriptors are not required in ejb3.0 3). Annotations are used in ejb3.0 4). EJB 3.0 entity beans don?t have home and remote interfaces. 5). EJB 3.0 entity beans/JPA becomes local. Remote annotations are not at all supported for entity beans. 6). EJB 3.0 beans don?t implement the standard interfaces like javax.ejb.SessionBean and hence no need to implement the container call back methods like ejbActivate() etc 7). Query is very flexible. Multiple levels of joins are enabled through the refined EJB-QL 8). Can be used with pluggable third party persistence providers 9). Security can be provided either through annotations or through deployment descriptors 10). POJO like EJB 3.0 entities become lightweight and easy to convert from a DAO to Entity bean or vice versa. Since EJB 3 entities don?t need implement any interface. ---------- Q: What is JBoss cache ? R: JBoss cache is a product. Frequently accessed Java objects are cached by utilzing JBoss cache to improve the performance of e-business applications. JBoss decreases the network traffic and increases the scalability of applications by eliminating unnecessary database acces.Fully transactional features and highly configurable set of options which are to deal with concurrent data access, are provided by JBoss cache in an efficient manner possible for the applications. --------- Q: What is JBoss JBPM ? R: JBoss JBPM is a workflow and BPM engine. Enabling the creation of business processes that coordinates between people, applications and services is the functionality of BPM engine. The combination of workflow applications development with process design is a feature of JBoss jBPM. The business process is graphically represented to facilitate a strong link between the business analyst and technical developer. This feature is provided by the JBoss jBPM process designer. BPM = Business Process Management (BPM) is a discipline involving any combination of modeling, automation, execution, control, measurement and optimization of business activity flows, in support of enterprise goals, spanning systems, employees, customers and partners within and beyond the enterprise boundaries ------------------ Q: Which component handles cluster communication in JBoss ? R: The JGroups framework provides services to enable peer-to-peer communications between nodes in a cluster. It is built on top a stack of network communication protocols that provide transport, discovery, reliability and failure detection, and cluster membership management services. ------------------- Q: What is the difference between EJB and Java beans? R: Java Beans: Java beans are reusable components that can be used for customized user objects. Java beans adhere to two methods known as setter and getter methods and one public constructor. For example an Employee object can be used to set (setter method) and get (getter method) employee details which are a customized object. AWT and Swing components are based on java beans. Enterprise Java Beans: EJB are reusable components that are developed to comply with enterprise specification adhering to setter and getter methods and one public constructor. These beans run in an EJB container of J2EE architecture. EJB Architecture - Difference between EJB and Java beans - Nov 14, 2009 at 17:20 PM by Amit Satpute What is the difference between EJB and Java beans? JavaBeans JavaBeans may be visible or nonvisible at runtime. JavaBeans are intended to be local to a single process and are primarily intended to run on the client side. Although one can develop server-side JavaBeans, it is far easier to develop them using the EJB specification instead. JavaBeans is a component technology to create generic Java components that can be composed together into applets and applications. JavaBeans have an external interface called the properties interface, which allows a builder tool to interpret the functionality of the bean. JavaBeans may have BeanInfo classes,property editors or Customizers JavaBeans have no types. No explicit support exists for transactions in JavaBeans. Component bridges are available for JavaBeans. EJB An EJB is a nonvisual, remote object. EJB's are remotely executable components or business objects that can be deployed only on the server. Even though EJB is a component technology, it neither builds upon nor extends the original JavaBean specification. EJBs have a deployment descriptor that describes its functionality to an external builder tool or IDE EJB's have no concept of BeanInfo classes, property editors or customizers and provide no additional information other than that described in the deployment descriptor. EJBs are of two types - session beans and entity beans. EJB's may be transactional and the EJB servers provide transactional support. An EJB cannot be deployed as an ActiveX control because ActiveX controls are intended to run at the desktop and EJB's are server side components. However CORBA-IIOP compatibility via the EJB-to-CORBA mapping is defined by the OMG ----------------------------------------------- Q: What is the difference between EAR, JAR and WAR file? R: .jar files: These files have .jar extension. A .jar file contains .class files, resources like .java and property files. The .jar file can be appended to environment variable CLASSPATH in order any java application to access from remote package. .war files: These files have the .war extension. The web application that is to be deployed on servlet or JSP container is too converted into .war file and can be deployed using Tomcat browser. The .war file can have .jsp, html, .js and any other files which would necessary for a web application. .ear files: The enterprise applications that are to be deployed in EJB container are to be placed in an .ear file. EJB Architecture - Difference between EAR, JAR and WAR file - Nov 11, 2009 at 17:10 PM by Amit Satpute What is the difference between EAR, JAR and WAR file? J2EE defines three types of archives: 1. Java Archives (JAR)—A JAR file encapsulates one or more Java classes, a manifest, and a descriptor. JAR files are the lowest level of archive. JAR files are used in J2EE for packaging EJBs and client-side Java Applications. 2. Web Archives (WAR)—WAR files are similar to JAR files, except that they are specifically for web applications made from Servlets, JSPs, and supporting classes. 3. Enterprise Archives (EAR)—An EAR file contains all of the components that make up a particular J2EE application -----------------------------------------