• Save
JBoss Application Server 7
Upcoming SlideShare
Loading in...5
×
 

JBoss Application Server 7

on

  • 15,361 views

Presentation given in Buenos Aires on June 17, 2011 by Ray Ploski

Presentation given in Buenos Aires on June 17, 2011 by Ray Ploski

Statistics

Views

Total Views
15,361
Views on SlideShare
15,178
Embed Views
183

Actions

Likes
31
Downloads
0
Comments
6

10 Embeds 183

http://shakeelstha.blogspot.com 136
http://shakeelstha.blogspot.in 20
http://www.lifeyun.com 7
http://shakeelstha.blogspot.it 7
http://shakeelstha.blogspot.fr 4
http://shakeelstha.blogspot.pt 3
http://shakeelstha.blogspot.de 3
http://shakeelstha.blogspot.co.uk 1
http://shakeelstha.blogspot.ie 1
http://shakeelstha.blogspot.com.au 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • need more about jboss
    Are you sure you want to
    Your message goes here
    Processing…
  • This slides is very very good.
    Thanks
    Are you sure you want to
    Your message goes here
    Processing…
  • Please can u mail me this whole document . and where i can find the Video tutorial for this . I want to listen the explanation
    thanks Raymond for such a nice notes
    Are you sure you want to
    Your message goes here
    Processing…
  • greate,
    Are you sure you want to
    Your message goes here
    Processing…
  • Nice
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

JBoss Application Server 7 JBoss Application Server 7 Presentation Transcript

  • Ray Ploski Principal Solutions Architect ray@redhat.com twitter:@rayploski JBoss Application Server 7Sunday, June 19, 2011
  • JBoss AS Timeline JavaEE 6 Web Profile, JDK6 JBoss AS 7.0 JBoss AS 6.0 JavaEE 5 certification, JDK5 & 6 JBoss AS 5.1 J2EE 1.4 certification JBoss AS 5: Alphas, Betas, CRs JDK 1.4 and finally 5.0.0.GA, 5.0.1.GA JBoss Versions JBoss AS 4.2.0 – 4.2.3 JBoss AS 4.0.0 – 4.0.5 JEE 5.0 compatible, not certified (95% pass) JDK5.0 JBoss AS 3.2.0 – 3.2.8 Time 2003 2004 2005 2006 2007 2008 2009 2010 2011 J2EE 1.3, JDK 1.3Sunday, June 19, 2011
  • Motivations For AS7 • Improve Usability • Increase Manageability • Simplify Configurations • Highly Performant - GO FAST!Sunday, June 19, 2011
  • Key Features of AS7Sunday, June 19, 2011
  • Key Features of AS7Sunday, June 19, 2011
  • Key Features of AS7 • Fast and Lightweight • Supports domain (multi-node) management • Multiple consistent management interfaces • CLI, Java API, HTTP API, Console • Unified, user-focused configuration • Modular • Only APIs, no AS implementation exposure • True isolationSunday, June 19, 2011
  • Two Operational ModesSunday, June 19, 2011
  • Two Operational Modes • Standalone • Traditional JBoss single JVM server • Management facilities IN-VMSunday, June 19, 2011
  • Two Operational Modes • Standalone • Traditional JBoss single JVM server • Management facilities IN-VM • Domain • Multi-JVM, multi-server model • Management coordinated by Domain Controller Process • Multiple server instances (JVMs) per Host • Full lifecycle managed by Process ControllerSunday, June 19, 2011
  • Standalone Mode • Standalone is a single AS process for use in development, where the additional management functionality is not required • Provides a similar development experience to previous versions of the AS, allowing for a deployment to be dropped in the deployments folder and automatically deployed • Can still be managed by the same tools and APIs as domain modeSunday, June 19, 2011
  • Domain Mode • Easy management of multiple AS instances • Managed from a single point, all have access to the same domain configuration • Allows for management and configuration updates to be pushed out to all servers • Domain Mode has three separate processes: • Process Controller • Host Controller • Server InstanceSunday, June 19, 2011
  • Domain Mode ProcessesSunday, June 19, 2011
  • Domain Mode Processes • Process Controller • Responsible for managing and starting / restarting processes • Extremely simple, not much that can go wrongSunday, June 19, 2011
  • Domain Mode Processes • Process Controller • Responsible for managing and starting / restarting processes • Extremely simple, not much that can go wrong • Host Controller • One host controller is the domain controller, the rest are slaves • Domain controller is responsible for pushing out configuration changes over the domainSunday, June 19, 2011
  • Domain Mode 9Sunday, June 19, 2011
  • My File’s Have Changed?Sunday, June 19, 2011
  • My File’s Have Changed? •Where are they?Sunday, June 19, 2011
  • File Layout File Layout !   jboss-7.0.0.Beta3 !  bin ! standalone.conf Standalone Mode JVM Parameters ! standalone.sh Standalone Mode ! domain.sh Domain Mode ! jboss-admin.sh Command Line Interface !  modules Static JBoss Module Definitions !  standalone !   configuration ! standalone.xml Standalone Unified Configuration !   deployments File System Deployment !   logs !   data Internal Data (includes repository)Sunday, June 19, 2011
  • File Layout - Domain File Layout (cont) !   jboss-7.0.0.Beta3 !  domain !   configuration ! domain.xml Domain Wide Unified Configuration ! host.xml Host Controller Configuration !   servers !  server-one Server One JVM instance data !  logs !  data !  server-two Server Two JVM instance data !  logs !  dataSunday, June 19, 2011
  • ArchitectureSunday, June 19, 2011
  • JBoss AS 7 Architecture JBoss MSC DMR Controller Threads Modules Server Controller Service Deployers VFS Jandex Reflect Cache Repository Core Infrastructure FS Scanner Transaction Datasource Messaging Connector Remoting Security JAX-RS Naming OSGi EJB3 Weld SAR Web JMX JPA WS EE SubsystemsSunday, June 19, 2011
  • Classloading JBoss ModulesSunday, June 19, 2011
  • Hierarchical CLSunday, June 19, 2011
  • Modular CLSunday, June 19, 2011
  • JBoss ModulesSunday, June 19, 2011
  • JBoss Modules • Provides extremely fast modular class loading • O(1) Dependency resolution • Concurrent CL (lockless in most VMs)Sunday, June 19, 2011
  • JBoss Modules • Provides extremely fast modular class loading • O(1) Dependency resolution • Concurrent CL (lockless in most VMs) • “Pure” modular class loading • Modules only see what they import (includes JDK classes!)Sunday, June 19, 2011
  • JBoss Modules • Provides extremely fast modular class loading • O(1) Dependency resolution • Concurrent CL (lockless in most VMs) • “Pure” modular class loading • Modules only see what they import (includes JDK classes!) • External module definitions • Don’t have to break open the JARSunday, June 19, 2011
  • JBoss Modules • Provides extremely fast modular class loading • O(1) Dependency resolution • Concurrent CL (lockless in most VMs) • “Pure” modular class loading • Modules only see what they import (includes JDK classes!) • External module definitions • Don’t have to break open the JAR • Dynamic • Modules can be redefinedSunday, June 19, 2011
  • JBoss Modules • Provides extremely fast modular class loading • O(1) Dependency resolution • Concurrent CL (lockless in most VMs) • “Pure” modular class loading • Modules only see what they import (includes JDK classes!) • External module definitions • Don’t have to break open the JAR • Dynamic • Modules can be redefined • Extensible • JBoss OSGi implemented on modulesSunday, June 19, 2011
  • modules.xmlSunday, June 19, 2011
  • User DeploymentsSunday, June 19, 2011
  • User Deployments •User deployments are modules tooSunday, June 19, 2011
  • User Deployments •User deployments are modules too •Sets up dependencies on some modules automatically (e.g. JPA, Hibernate, WebServices)Sunday, June 19, 2011
  • User Deployments •User deployments are modules too •Sets up dependencies on some modules automatically (e.g. JPA, Hibernate, WebServices) •The user can also set up their own dependencies on app server modulesSunday, June 19, 2011
  • User Deployment DetailsSunday, June 19, 2011
  • User Deployment Details • Each sub-deployment in an ear is its own moduleSunday, June 19, 2011
  • User Deployment Details • Each sub-deployment in an ear is its own module • Sub-deployments in an EAR do not have access to other sub-deployments by defaUltSunday, June 19, 2011
  • User Deployment Details • Each sub-deployment in an ear is its own module • Sub-deployments in an EAR do not have access to other sub-deployments by defaUlt • Allows for individual ejb-jars to have dependencies on different versions of classesSunday, June 19, 2011
  • User Deployment Details • Each sub-deployment in an ear is its own module • Sub-deployments in an EAR do not have access to other sub-deployments by defaUlt • Allows for individual ejb-jars to have dependencies on different versions of classes • Also provide an relaxed isolation mode, which automatically set up dependencies between all the sub deployments in the earSunday, June 19, 2011
  • User Deployment Details • Each sub-deployment in an ear is its own module • Sub-deployments in an EAR do not have access to other sub-deployments by defaUlt • Allows for individual ejb-jars to have dependencies on different versions of classes • Also provide an relaxed isolation mode, which automatically set up dependencies between all the sub deployments in the ear • Dependencies can be set up using the manifest, a custom deployment descriptor, or on a global levelSunday, June 19, 2011
  • JBoss Modular Service Controller (MSC)Sunday, June 19, 2011
  • Modular Service Container •Small, lightweight & efficient •Highly concurrent & scalable state machine •Only two non- Service Builder error, non- Service Registry transition states Service Controller - stop & start Service Deps Value Listeners Injectors Concurrent Service ContainerSunday, June 19, 2011
  • ServicesSunday, June 19, 2011
  • Services • In AS7 almost everything is a serviceSunday, June 19, 2011
  • Services • In AS7 almost everything is a service • Services are objects that can be started and stoppedSunday, June 19, 2011
  • Services • In AS7 almost everything is a service • Services are objects that can be started and stopped • Services can have dependencies on other servicesSunday, June 19, 2011
  • Services • In AS7 almost everything is a service • Services are objects that can be started and stopped • Services can have dependencies on other services • When all a services dependencies are satisfied it will attempt to startSunday, June 19, 2011
  • Services • In AS7 almost everything is a service • Services are objects that can be started and stopped • Services can have dependencies on other services • When all a services dependencies are satisfied it will attempt to start • If a dependency going to be stopped, then MSC will stop all dependent services firstSunday, June 19, 2011
  • Services • In AS7 almost everything is a service • Services are objects that can be started and stopped • Services can have dependencies on other services • When all a services dependencies are satisfied it will attempt to start • If a dependency going to be stopped, then MSC will stop all dependent services first • Services can inject dependent servicesSunday, June 19, 2011
  • Everything is a Service!Sunday, June 19, 2011
  • Everything is a Service! •As mentioned previously almost everything in AS7 is a service, including: • EJBs (actually 2+ services) • JNDI Bindings • Servlets • The deployment itselfSunday, June 19, 2011
  • Everything is a Service! •As mentioned previously almost everything in AS7 is a service, including: • EJBs (actually 2+ services) • JNDI Bindings • Servlets • The deployment itself •Individually shut down and restart, with all dependencies being maintainedSunday, June 19, 2011
  • JEESunday, June 19, 2011
  • JEE • Still using the same underlying projects, but with completely new integration code.Sunday, June 19, 2011
  • JEE • Still using the same underlying projects, but with completely new integration code. • Boot process has been highly optimizedSunday, June 19, 2011
  • JEE • Still using the same underlying projects, but with completely new integration code. • Boot process has been highly optimized • Annotation scanning is done by scanning the deployments bytecode, preventing expensive class loading unless it is absolutely necessarySunday, June 19, 2011
  • JEE • Still using the same underlying projects, but with completely new integration code. • Boot process has been highly optimized • Annotation scanning is done by scanning the deployments bytecode, preventing expensive class loading unless it is absolutely necessary • Services start asynchronously where possible (e.g. Weld and Hibernate can both be starting at the same time)Sunday, June 19, 2011
  • Dynamic Model Representation (DMR)Sunday, June 19, 2011
  • Management - DMRSunday, June 19, 2011
  • Management - DMR • Central De-typed Management API • All management operations operate with/on DMR • Backwards compatible!Sunday, June 19, 2011
  • Management - DMR • Central De-typed Management API • All management operations operate with/on DMR • Backwards compatible! • Can be used to control a single standalone server or an entire domainSunday, June 19, 2011
  • Management - DMR • Central De-typed Management API • All management operations operate with/on DMR • Backwards compatible! • Can be used to control a single standalone server or an entire domain • De-types (i.e. string based) API uses a small set of Java classesSunday, June 19, 2011
  • Management - DMR • Central De-typed Management API • All management operations operate with/on DMR • Backwards compatible! • Can be used to control a single standalone server or an entire domain • De-types (i.e. string based) API uses a small set of Java classes • Various transports (Java Remoting, JSON over HTTP)Sunday, June 19, 2011
  • Management - DMR • Central De-typed Management API • All management operations operate with/on DMR • Backwards compatible! • Can be used to control a single standalone server or an entire domain • De-types (i.e. string based) API uses a small set of Java classes • Various transports (Java Remoting, JSON over HTTP) • All management interfaces are based on this APISunday, June 19, 2011
  • Dynamic Model Representation (DMR) • Central De-typed Management API • All management operations operate with/on DMR • Backwards compatible! • Represents simple and complex types • int, long, big int, double, big dec, boolean, string, bytes, list, object, property, expression • Auto-converts like dynamic languages • Self describing • Convertible to/from JSON • Also has a defined binary protocol (optionally b64)Sunday, June 19, 2011
  • Management •ONE configuration file • standalone.xml / domain.xml • Management API that allows for persistent changes to the configuration • Management API can manage all servers in the domain • Management console to provide user friendly management in a web browser • Command line tool for use in scriptsSunday, June 19, 2011
  • Management via Configuration User-focused Configuration <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jta.TransactionManagerService"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX (name="jboss:service=TransactionManager", exposedInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class, registerDirectly=true)</annotation> <annotation>@org.jboss.managed.api.annotation.ManagementObject (name="TransactionManager",componentType=@org.jboss.managed.api.annotation.ManagementCompone nt(type = "MCBean", subtype = "JTA"),targetInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class) </annotation> <property name="transactionTimeout">300</property> <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property> <subsystem xmlns="urn:jboss:domain:transactions:1.0"> <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> <core-environment socket-binding="txn-socket-process-id"/> </subsystem> Sunday, June 19, 2011
  • Management via APISunday, June 19, 2011
  • Management via Command LineSunday, June 19, 2011
  • Management via Command Line • Scriptable command line management toolSunday, June 19, 2011
  • Management via Command Line • Scriptable command line management tool • Uses the management API internallySunday, June 19, 2011
  • Management via Command Line • Scriptable command line management tool • Uses the management API internally • Allows access to high level user friendly commands: create-jms-queue –-name testQueueSunday, June 19, 2011
  • Management via Command Line • Scriptable command line management tool • Uses the management API internally • Allows access to high level user friendly commands: create-jms-queue –-name testQueue • Also allows direct access to the domain model, giving access to the full functionality of the management APISunday, June 19, 2011
  • Testing with Arquillian •AS7 supports easy testing with ArquillIan •Arquillian is used both in the internal test suite and by end users to test their applications •Combined with the fast startup speed of AS7 testing in the container is just as easy as running normal JUnit tests.Sunday, June 19, 2011
  • Sunday, June 19, 2011
  • PerformanceSunday, June 19, 2011
  • Boot Time ResultsSunday, June 19, 2011
  • Memory ComparisonSunday, June 19, 2011
  • WHEN? • AS 7.0 currently in Beta3 • 7.0 Final (EE Web Profile) • 7.1 Final (EE Full Profile) JBoss AS 7.1 will be the base for JBoss Enterprise Application Platform 6 (EAP)Sunday, June 19, 2011
  • JBoss AS v EAPSunday, June 19, 2011
  • More Information • Webinars: http://www.jboss.org/webinars • This Deck: http://bit.ly/BABootcampAS7 • Homepage: http://www.jboss.org/jbossas • Users Forum: http://community.jboss.org/ en/jbossas/as7_users • Using Nightly Builds: http:// community.jboss.org/thread/167590Sunday, June 19, 2011
  • Support Open Source! • We need You! • Subscribe • Contribute • Code • Features • Documentation • Testing • Let us continue our work that benefits so many.Sunday, June 19, 2011