Your SlideShare is downloading. ×
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
JBoss AS7 Overview
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JBoss AS7 Overview

1,742

Published on

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,742
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
243
Comments
1
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Andrea Leoncini JBoss Senior Solution Architect @ Red Hat andrea.leoncini@redhat.comIt’s JBoss, but not as we know it
    • 2. EVERYTHING CHANGES• AS7 is the major application server rewriting • much bigger change than AS4 to AS5• Lots of new features • Module based services & Modular Service Container • Domain mode and Standalone mode • New configuration • Everything has changed
    • 3. MOTIVATIONS FOR AS7• Improve usability • with AS4 and AS5 the JBoss user used to be an expert• Increase manageability • with AS4 and AS5 each server is based on specific configuration• Simplify configurations • with AS4 and AS5 each service has its own configuration approach• Higly performant - GO FAST! • much faster than previous versions
    • 4. 7 REASONS TO LOVE AS7• blazingly fast (<3s startup)• lightweight• modular• hot parallel deployment• elegant administration• domain management• easy testable
    • 5. KEY NEW FEATURES• Fast and lightweight• Supports domain (multi node) management• Multiple consistent management interfaces CLI, Java API, HTTP API, Web Console• Unified user-focused configuration• Modular • Pluggable components of the application server, referenced from profiles, based on module.xml • tha basis of classloading in AS7
    • 6. AS7 ARCHITECTURE
    • 7. THE NEW JBOSS SCENARIOhost301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server MonteMario Pietralata EUR JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host HostContoller Contoller Contoller Domain Contoller host199.mgmt.acme.it
    • 8. HOSThost301.prod.acme.itesil903.ac.bankit.it host302.prod.acme.it esil905.ac.bankit.it Host: JBoss Server each “host JBoss Server box” represents a physical or virtual host. JBoss Server MonteMario Pietralata box can contain zero, one or multiple server Each EUR instances JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host HostContoller Contoller Contoller Domain Contoller host199.mgmt.acme.it
    • 9. HOST CONTROLLER esil903.ac.bankit.it Host Controller: esil904.ac.bankit.it esil905.ac.bankit.itWhen domain.sh script is run on a host, a process known as a Host Controller is launched. The Host Controller is solely JBoss Server JBoss Server JBoss Serverconcerned with server management; it does not handle application server workloads. The Host Controller is responsible for MonteMario Pietralata EURstarting and stopping the individual application server processes that run on its host, and interacts with the DomainController to help manage them. JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host Host Contoller Contoller Contoller Domain Contoller host199.mgmt.acme.it
    • 10. DOMAIN CONTROLLER Domain Controller: esil903.ac.bankit.itOne Host Controller instance is configured to act as the central management point for the entire domain, i.e. to be the esil904.ac.bankit.it esil905.ac.bankit.itDomain Controller. The primary responsibility of the Domain Controller is to maintain the domains central management JBoss Server JBoss contents, JBoss Serverpolicy, to ensure all Host Controllers are aware of its currentServer and to assist the Host Controllers ensuring that any MonteMario Pietralata EURrunning application server instances are configured in accordance with this policy. This central management policy is stored bydefault in the domain/configuration/domain.xml file in the unzipped JBoss Application Server 7 installation on DomainControllers hosts filesystem. JBoss Server JBoss ServerA domain.xml file must be located in the domain/configuration directory of an installation thats meant to run the Domain Trastevere GarbatellaController. It does not need to be present in the installations that are not meant to run a Domain Controller; i.e. those whoseHost Controller is configured to contact a remote Domain Controller. The presence of a domain.xml file on such a server JBoss Serverdoes no harm. Trionfale Host Host Host Contoller Contoller Contoller Domain Contoller host199.mgmt.acme.it
    • 11. SERVER GROUP host301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server JBoss Server JBoss Server MonteMario MonteMario Pietralata EUR EURrestful-group JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host Host Contoller Contoller Contoller Server Group: A server group is set of server instances that will be managed and configured as one. In a managed domain each application server instance is a member of a server group. (Even if the group has just a single server, the server is still a member of a group.) It is the responsibility of the Domain Controller and the Host Controllers to ensure that all servers in a server group Domain have a consistent configuration. They should all be configured with the same profile and they should have the same deployment content deployed Contoller host199.mgmt.acme.it
    • 12. SERVER GROUPhost301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server MonteMario Pietralata EUR JBoss Server JBoss Server Trastevere Garbatella midsize-group JBoss Server Trionfale Host Host HostContoller Contoller Contoller Domain Contoller host199.mgmt.acme.it
    • 13. SERVER INSTANCE host301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server MonteMario Pietralata EUR JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host Host Contoller Contoller Contoller Server:Each "Server" in the above diagram represents an actual application server instance.The server runs in a separate JVM process from the Host Controller. The HostController is responsible for launching that process. (In a managed domain the end Domainuser cannot directly launch a server process from the command line). Contoller host199.mgmt.acme.it
    • 14. DEPLOYMENThost301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server MonteMario Pietralata EUR JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host HostContoller Contoller Contoller Domain Contoller New Module host199.mgmt.acme.it <datasource>
    • 15. DEPLOYMENThost301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server MonteMario Pietralata EUR JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host HostContoller Contoller Contoller Domain Contoller New Module host199.mgmt.acme.it <datasource>
    • 16. DEPLOYMENThost301.prod.acme.it host302.prod.acme.it host303.prod.acme.it JBoss Server JBoss Server JBoss Server MonteMario Pietralata EUR New Module New Module <datasource> <datasource> JBoss Server JBoss Server Trastevere Garbatella JBoss Server Trionfale Host Host HostContoller Contoller Contoller Domain Contoller host199.mgmt.acme.it
    • 17. JBoss Modules is a standalone implementation of amodular (non-hierarchical) class loading and executionenvironment for Java. In other words, rather than a singleclass loader which loads all JARs into a flat class path, eachlibrary becomes a module which only links against the exactmodules it depends on, and nothing more. It implements athread-safe, fast, and highly concurrent delegating classloader model, coupled to an extensible module resolutionsystem, which combine to form a unique, simple andpowerful system for application execution and distribution. JBOSS MODULES
    • 18. System CL Server CLDeployment CL Deployment CL HIERARCHICAL CL
    • 19. org.slf4j org.javassist org.hibernate.core org.jboss.weldorg.jboss.interceptors deployment.myapp.war MODULAR CL
    • 20. mod-L v3.1 mod-A v2.0 mod-J v1.1your.app.war mod-L v2.4 mod-K v1.7 MODULAR CL
    • 21. MODULE.XML
    • 22. USER DEPLOYMENTS• User deployments are modules too• Sets up dependencies on some modules automatically (e.g. JPA, Hibernate, WebServices)• Theuser can also set up their own dependencies on app server modules
    • 23. USER DEPLOYMENTS DETAILS• Each sub-deployment in an EAR is its own module• Sub-deployments in an EAR do not have access to other sub-deplyments by default• Allows for individuals ejb-JARs to have dependencies on different versions of classes• Also provide a relaxed isolation mode, which automatically sets 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 level.
    • 24. • 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 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 services SERVICES
    • 25. EVERYTHING IS A SERVICE!• Aspreviously mentioned almost everything in AS7 is a service, including: • EJBs • JNDI Bindings • Servlets • The deployments itself
    • 26. TWO OPERATIONAL MODES• Standalone This is the traditional JBoss single JVM server This will have 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 Controller
    • 27. STANDALONE MODE• Standalone is a single AS process for use in development, where the additional management functionality is not required• Itprovides a similar development experience to previous versions of the AS, allowing for a deployment to be dropped in the deployment folder and automatically deployed• Canstill be managed by the same tools and APIs as domain mode
    • 28. DOMAIN MODE• Easy management of multiple AS instances• managed from a single point and all have access to the same domain configuration• allows management and configuration updates to be pushed to all servers• when operating in domain mode there will be three classes of processes: • Proces Controller • Host Controller • Server Instance
    • 29. WHEN YOU START A HOST IN DOMAIN MODE• Process Controller responsible for managing and starting / restarting processes extremely simple, not much that can go wrong. This is the process that the system will take care of, for example at bootstrap, or by > service jboss start (/etc/init.d)• Host Controller One host controller is the Domain Controller, the rest are slaves DC is responsible for pushing out configuration changes over the domain. Domain C. and Host C. are responsible for remote management
    • 30. WHEN YOU START AN HOST IN DOMAIN MODE• Host Controller By default each Host Controller reads its configuration from the domain/configuration/host.xml file located in the unzipped JBoss Application Server 7 installation on its hosts filesystem. The host.xml file contains configuration information specific to the particular host. Primarily: • the listing of the names of the actual JBoss Application Server 7 instances that are meant to run off of this installation • configuration of how the Host Controller has to contact the Domain Controller to register itself and access the domain configuration. This may either be configuration of how to find and contact a remote Domain Controller, or a configuration telling the Host Controller to act as the Domain Controller • configuration of items that are specific to the local physical installation. For example, named interface definitions declared in domain.xml (see below) can be mapped to an actual machine-specific IP address in host.xml. Abstract path names in domain.xml can be mapped to actual filesystem paths in host.xml
    • 31. Starting Domain Controlleractually starts two processes START DOMAIN
    • 32. Starting Domain Controlleractually starts two processes START DOMAIN
    • 33. Starting domain actually The Process Controller starts two processes START DOMAIN
    • 34. Starting domain actually and the Host Controller starts two processes START DOMAIN
    • 35. What are you stopping? If you stop (kill) the Process Controller you are going to stop the Host Controller and all related Servers STOP DOMAIN
    • 36. What are you stopping? One Host Controller can also be stopped by Host Controller using: jboss-admin.sh STOP DOMAIN
    • 37. What are you stopping? One Host Controller can also be stopped by Host Controller using: jboss-admin.sh STOP DOMAIN
    • 38. What are you stopping? jboss-admin is a CLI available on every node of your JBoss environment (each JBoss installation). STOP DOMAIN
    • 39. What are you stopping? By CLI you can stop anything from anywhere STOP DOMAIN
    • 40. FILE LAYOUT Starts a standalone instance of the AS This is the mode thatreproduces the old behaviour
    • 41. FILE LAYOUTbased on standalone.conf
    • 42. FILE LAYOUT domain.sh starts theprocess controller and the host controller
    • 43. FILE LAYOUT also uses domain.conf but itjust sets the Host controller configuration
    • 44. FILE LAYOUT In the domain mode domain.xml containsconfigurations common to all instances
    • 45. FILE LAYOUT In the domain modehost.xml contains the servers configurations
    • 46. FILE LAYOUT In the domain modefor each server there will be just working directories
    • 47. • ONE configuration file • standalone.xml - domain.xml• Management API allows persistent changes to the configuration• Management API can manage all servers in the domain• Management console provides user friendly management in a web browser• command line tool (higly scriptable) MANAGEMENT
    • 48. • 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 The XML configuration files act as a central, authoritative source of configuration. Any configuration changes made via the web interface or the CLI are persisted back to the XML• Management console to provide user friendly management in a web configuration files. If a domain or standalone server is offline, the XML configuration files can be hand edited as well, and any changes will be picked up when the domain or standalone server is browser next started. However, users are encouraged to use the web interface or the CLI in preference to making offline edits to the configuration files. External changes made to the configuration files while processes are running will not be detected, and may be overwritten• command line tool for use in scripts MANAGEMENT
    • 49. MANAGEMENT VIA CONFIGURATION
    • 50. MANAGEMENT VIA API
    • 51. • Scriptable command line management tool• Uses the management API internally• Allows access to high level user friendly commands create-jms-queue --name testQueue• Alsoallows direct access to the domain model, giving access to the full functionality of the management API MANAGEMENT VIA CLI
    • 52. MANAGEMENT: CREATE SERVER
    • 53. MANAGEMENT: DEFINE A DATASOURCE
    • 54. MANAGEMENT: DEFINE A DATASOURCE
    • 55. MANAGEMENT: DEFINE A DATASOURCE
    • 56. MANAGEMENT: DEFINE A DATASOURCE
    • 57. MANAGEMENT: DEFINE A DATASOURCE
    • 58. 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.
    • 59. TESTING EXAMPLE WITH ARQUILLIAN
    • 60. Andrea Leoncini JBoss Senior Solution Architect @ Red Hat andrea.leoncini@redhat.com This presentation is overTHANK YOU for your attention!

    ×