Presentation is loading. Please wait.

Presentation is loading. Please wait.

JBoss Overview J2EE Sig Presenter: Steve Davidson Stephen Davidson & Associates, INC.

Similar presentations


Presentation on theme: "JBoss Overview J2EE Sig Presenter: Steve Davidson Stephen Davidson & Associates, INC."— Presentation transcript:

1 JBoss Overview J2EE Sig Presenter: Steve Davidson Stephen Davidson & Associates, INC.

2 JBoss Overview JBoss - The Main Modules and their Layout Startup Issues - How to spot them. JMX-Console - The Management Console Ant & XDoclet - What are they and why?

3 JBoss -The Main Modules and their Layout JMX - Used for control of JBoss JAAS - Used for Internal and Module Security JCA - Used for Database Connectivity JNDI - Generally used to access all of the above components JETTY - The default WebServer/Servlet container JBossMQ - The JMS Server EJB 2.0 - The advantages of CMP

4 JMX -Java Management Extensions Specification handled by JSR-077 Implemented via MBeans Configured using *-service.xml In JBoss, can be monitored using JMX-Console (discussed later). Can be bundled into.sar files (Service Application Resource)

5 JMX -Java Management Extensions From JBoss QuickStart, Chapter 12 Almost everything important in JBoss is an MBean, such as EJBs, the Naming Service, Resource Adapters, etc. Most of these (except, as of now, EJBs) are configured through jboss-specific xml deployment descriptors in *- service.xml files. These may be packed with the classes they need in a sar (service archive) or deployed separately....Two types of dependency management: between MBeans, and between an MBean and its class.

6 JAAS -Java Authentication & Authorization Security Specification Handled by the JAAS JSR. Defaults are configured in conf/login-config.xml Can be tied into LDAP, or Databases, via JCA. Implemented via JBossSX Note: JCA Realms need to be configured here as well!

7 JCA - Java Connector Archictecture Controlled by MBeans *-service.xml files for configuration of JCA. Can be used to connect to databases, legacy systems, other systems, etc. Most Databases do not provide JCA Adapters, so generally JCA-Wrappers of JDBC drivers are used. Samples for popular databases -docs/examples/jca (NOTE: Not always properly maintained!)

8 JNDI -Java Naming Directory Interface JBossNS Module Implements v1.2.1 Managed by org.jboss.naming.NamingService Mbean. conf/jboss-service.xml Just about everything in JBoss has a handle stored in the JNDI tree either it should not be accessed by an outside entity, or it will have a handle here shortly if it doesn't already.

9 Startup Issues What happens when something fails to deploy? Where to look for explanations Q) How well does JBoss handle things failing during Deploy? A) Flakily, especially depending on which build you have - In all cases, no application start, and in many cases, no JMX-Console.

10 JETTY -Fast, Small, and Powerful The webserver and Servlet Container for JBoss Port for PDA's (specifically Zaurus) exists. Compliant to the HTTP1.1, Servlet 2.3 & JSP 1.2 specifications Fully integrated with JBoss In-JVM optimized calls Jetty integration extends the org.jboss.web.AbstractWebContainer JBossSX integration, allowing simple and form based authentication across the entire JBossSX framework.

11 JETTY -Fast, Small, and Powerful (continued) GOTCHA: No Default deployment, so until an app is deployed, it serves 404s. Until page defined as root, 404s Configured via jboss-service.xml Two versions - conf/jboss-service.xml  Read only during JBoss Startup deploy/jbossweb.sar/META-INF/jboss-service.xml  Unpacked during deploy, an update forces JETTY to redeploy Clusterable (Rapidly improving - based on Stateful Session EJBs)

12 JBossMQ -The Java Messaging Server for JBoss JMS 1.0.2b compliant ConnectionFactory handle stored in JNDI Managed by the JMX Mbean Supports MDBs (which are very useful for asynchronous and background processing) Default configurations: deploy/jbossmq-destinations- service.xml Autoconfigures for application specific MDBs, Queues, and Topics via the appropriate entries in descriptor XML files.

13 EJB 2.x - Why? EJB 2.0 CMP is very improved over 1.x Container is optimizing database access (for properly configured beans). Currently in general about as fast and efficient as BMP access As containers improve, so does access speed Coupled with JMS, you can make an effective home made distributed Entity EJB. (Hint: Make the Entities Topic Listeners)

14 EJB 2.x - Why? (continued) EJB QL based on SQL, very similar syntax. Container handles the relational mapping. Especially useful for databases that do not necessary support n-m relations Look ahead and relational loads much improved from 1.x days More improvements on the way (do you really want to refactor all your code, or let someone else do the work?)

15 EJB 2.x - Why? (continued) For more information, see Chapter 11 of the Enterprise JavaBeans Specification Version 2.0 Final Release or one of the many excellent articles written on CMP 2.0.

16 JMX-Console Accessed by; http://localhost:8080/jmx-consolehttp://localhost:8080/jmx-console Lists all deployed MBeans, including the ones for application's EJB(s). JNDI MBean, which can be used to view JNDI tree Can bring JBoss down Can deploy EAR file, or check to see if EAR deployed

17 Ant & XDoclet Used by majority of large Java projects Parses XML "build" file Generally acts on directories and subdirectories Easy to use Task based XDoclet - Integrated with ANT XDoclet - Parses JavaDocs for "Xdoclet" tags, and builds Home, Remote, LocalHome, and LocalRemote interfaces for EJBs.

18 Other Useful Modules Jboss.NET Based on Apache AXIS JAX-RPC JBoss/Weblogic Integration (Allows JBoss to read Weblogic Descriptor files) Clustering LoadBalancing (Intrinsic to the EJBs) UCL - Unified ClassLoader - Useful for Highload applications when being "bitten" by Sun's Classloader Deadlock bug Somebody made a Swing Front-End!

19 Useful Resources JBoss 3.0 Quick Start (@http://www.jboss.org - see "Getting Started") WARNING: Some of it is out of date - Caution Jetty website (http://jetty.mortbay.org)http://jetty.mortbay.org jetty.mortbay.com/jetty/doc/ JettyWithApache.html JBoss Forums (@jboss.org) Mailing lists (@sourceforge) Newsgroups (in progress) Online User docs (@jboss.org)

20 Q & A Questions and Answers


Download ppt "JBoss Overview J2EE Sig Presenter: Steve Davidson Stephen Davidson & Associates, INC."

Similar presentations


Ads by Google