Introduction to the JBoss

seedjaggedInternet and Web Development

Nov 12, 2013 (3 years and 8 months ago)

60 views

Introduction to the JBoss

Presented by: Hao Shi

Agenda



Application Servers


What is JBoss


JBoss features


Architecture of JBoss



Installation and running the server


Testing the installation



Application Servers

1.
Provide a runtime for mission
-
critical applications;

2.
Solve the many (client) to Few (resources) problem;

3.
User code does not have to deal with:


-

security


-

Transactions


-
Threading


-

Pooling


-

Clustering


-

Caching


-

Connectors


-

Messaging


-

……

What is JBoss


An open source J2EE server;


Founded by Marc Fleury in 1999;


Backed by a community of developers;


Yet another Java AppServer .

What made JBoss Special



Free, open
-
source product; professional
supporting, consulting, and training


-

Commercial Servers at $10k
-

$100k


LGPL licensed


-

Free use/Distribute/Embed


Developer friendly


-

No pre


compilation steps, etc


Innovative design


-

Lightweight, modular, dynamic






Architectural Innovations


The JBoss Microkernel


-

A light weight component framework that wires

together a
set of services;


-

Services are de
-
coupled, innovations are routed

through an
internal bus;



Architectural Innovations




Aspect Oriented Design


-

Interceptors applied using Dynamic Proxies and
traditional OOD techniques;


Instant Clustering;

JBoss Microcontainer


The JBoss Microcontainer is a refactoring of JBoss's JMX
Microkernel to support direct POJO deployment and
standalone use outside the JBoss application server.


-

All the features of the JMX Microkernel


-

Direct POJO deployment (no need for Standard/XMBean or MBeanProxy)


-

Direct IOC style dependency injection


-

Improved lifecycle management


-

Additional control over dependencies


-

Transparent AOP integration


-

Virtual File System


-

Virtual Deployment Framework


-

OSGi classloading


Jboss Today



Most used application server in Development;


20 million downloads;


Large jboss.org community;


-

250,000+ users;


-

500+ contributors, over time, ~30 at any time;


-

300,000 forum posts;


-

x10 bigger community than any open source server;


JBoss AS 5



JEE 5 certified application server;


Based on POJO Microcontainer;


-

Aspectized light weight IoC container;


-

JMX stays, become an aspect of POJO services;


New implementations of core services;


-

JBoss messaging;


-

JBoss transactions;


JBoss SEAM;


JBoss webserver (Tomcat on steroids);

Installing JBoss AS



Prerequisites:


-

JDK 1.5 or above


-

JAVA_HOME environment variable pointing to JDK


Download the JBoss AS you want to install:



http://www.jboss.org/jbossas/download


Platform Independent Zip Archive


Extract the archive in the directory you choose


Run ( For Windows, run.bat, for Linux, run.sh);


Alternative Installation: JEMS



GUI Installer utility


Run through Java Wed Start or download and
run locally:


-

http://www.jboss.org/jemsinstaller/downloads


-

‘java
-
jar jems
-
installer
-
1.2.1.CR4.jar’


Choose between different profiles;


-

All, Default, Minimal


-

EJB3, EJB3 clustered


Customize services installed;


Secure admin consoles;


Directory Structure



/bin

Startup/Shutdown Script

/client

Client
-
side jars need to
communicate with JBoss

/docs

Configuration file DTD’s, licenses,
schemas data source configuration
examples

/lib

Microkernel libraries

Do not pub your application library
here

/server

Server configurations

Server Configuration Structure



/conf

Jboss static configuration files

Jboss service.xml: bootstrap config file for
JMX microkernel

/data

Used by services requiring permanent storage
(hypersonic, JBossMQ, SFSB..)

/deploy

Default location monitored by hot
development service, Put your application
archive here

/lib

Static java library directory. Libraries are
loaded in the shared class path server startup.

/log

Directory for Jboss log files

/tmp,
/work

Temporary directories

Start the server


To launch an instance of JBoss


run [

c <configuration>]



if

c parameter is not specified, default configuration is used

Microkernel benefits for SOA
architecture


Microkernel approach ideal for ISV and
OEM


Easily remove the services you don’t need


Tight footprint and modular codebase and hot
deploy/remove/redeploy


JBoss is a TRUE Service Oriented
Architecture (SOA)


Microkernel benefits for SOA
architecture

Deployers: Working from the
Network

Deployers: Working from the
Network

Tomcat standalone or Tomcat
inside JBoss ?


Better JBoss deployer


Hot deployment


Deployment of nested archives (EARs, SARs)


Redeployment


Automatic undeployment


Advanced clustering


Integrated J2EE stack within one VM


Deployment descriptor


Optimized local calls


Integrated security


AOP in JBoss 4.0 available in Tomcat components and webapps


Easy to use class loader


Nukes


JBoss IDE


JBoss IDE is based on Eclipse.


Series of plugins for Eclipse


The debugging and monitoring of JBoss servers and the
control of their life cycle (start/stop).


A very comfortable and sophisticated support for XDoclet


Support completion and generation


Support for AOP (completion and generation).


An easy way to configure and deploy the packaging
layout of archives (packed or exploded)


Thank You.