AS7, Domain Models, Cloud and how can I beon-demand?Bruno R. MachadoSamuel Tauil
AgendaWhat is JBoss AS7?Standalone TopologyDomain ModeDomain TerminologyDomain TopologyDomain configurationManagement I...
What is JBoss AS7?Also known AS7 or JBoss EAP6 (enterprise version)stable, innovative and supported Platformimplements t...
Cloud-ready architectureHigh degree of automationFlexible ManagementFrugal use of resourcesLean, agile developmentOpe...
New FeaturesNew concept and new architecturecompletely different from previous versions– 3.x/4.x (microkernel)– 5.x/6.x (...
New FeaturesTrue modularitysmall core with most of its features and capabilitiescontained in modulesapplication isolatio...
User-focused configuration<subsystem xmlns="urn:jboss:domain:transactions:1.0"><recovery-environment socket-binding="txn-r...
Web ConsoleSimpleFastLightweightAvoids XML configSingle instance andDomainsMostly Configuration
Web ConsoleJBoss AS 5.x
Architecture
JBoss ModulesStandalone implementation of modular (non-hierachical)class loading and execution environment for JAVAlibrar...
Module Definition - Static FSRepository<!-- definitions are in module.xml --><module xmlns="urn:jboss:module:1.1"name="org...
Class LoadingIs based on the principles of modular class loadingModules delegate to one another as peersA module imports...
Operating ModesDomain Operating Mode (new)– Spawns multiple JVMs (servers) on multiple physical /virtual machines which b...
Subsystems... are sets of capabilities added by an extensionAdding features and attributes of an extension in a server is ...
Profile... is a set of configured subsystemsThe <profile> element only allows child element<subsystem>Standalone Modedefi...
Profiles available out-of-the-boxdefaultmost commonly used subsystems: logging, configadmin,datasources, ee, ejb3, infinis...
Standalone TopologyOnlydistinctionNo centralizedmanagementcapability!
Domain TerminologyHost = physical or virtual machine
Domain TerminologyMaster = Domain Controller (DC)acts as the central managementcontrol point for the entire domainSlave = ...
Domain TerminologyProcess controlleris started by domain tospawn server and hostcontroller processesand to manage their I/O
Domain TerminologyServer groupsset of server instancesthat will be managed andconfigured as oneServerseparate JVM processr...
Server Groups... are defined in domain.xml using the <server-groups> element<server-groups> consists of a one or more <ser...
Host Configuration - Servers... are defined in the <servers> element of the configuration file of the host controllerwhere...
Domain Topology - Big Picture25
Domain - Configurationdomain controller{192.168.178.60}host.xml<domain-controller><local/></domain-controller>domain.xmlho...
Management interfaces topology27
Domain ArchitectureExamples28This architecture is usedin one of the biggestHealth Insurance companyof Latin AmericaDedic...
Domain Architecture ExamplesDC doesnt need to be up all the time.Start DC in the first startup, and then use--backup --cha...
DEMO
Awaiting VolunteersWant to help us?http://bit.ly/11FYCTh
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
Upcoming SlideShare
Loading in...5
×

JUDCon Brazil 2013 - Domain Models with JBoss AS 7

898

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
898
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JUDCon Brazil 2013 - Domain Models with JBoss AS 7

  1. 1. AS7, Domain Models, Cloud and how can I beon-demand?Bruno R. MachadoSamuel Tauil
  2. 2. AgendaWhat is JBoss AS7?Standalone TopologyDomain ModeDomain TerminologyDomain TopologyDomain configurationManagement Interfaces TopologyDomain Architecture ExamplesDEMO
  3. 3. What is JBoss AS7?Also known AS7 or JBoss EAP6 (enterprise version)stable, innovative and supported Platformimplements the Java EE 6 Specification consisting of 2profilesWeb profilecontains the web-based technologies of Java EE:Servlets, JSP, JSF, CDI, JPA and EJB Lite ...Full profilecontains all of the Java EE technologies
  4. 4. Cloud-ready architectureHigh degree of automationFlexible ManagementFrugal use of resourcesLean, agile developmentOpen PlatformPHYSICAL VIRTUAL PRIVATE PUBLICJBOSS ENTERPRISE MIDDLEWARE
  5. 5. New FeaturesNew concept and new architecturecompletely different from previous versions– 3.x/4.x (microkernel)– 5.x/6.x (microcontainer)Lightning fast!services are started on-demand and concurrently and allnon-critical services remain passiveSingle configuration fileall configuration details are viewed in a single file(standalone.xml for standalone and domain.xml andhost.xml for domain server)
  6. 6. New FeaturesTrue modularitysmall core with most of its features and capabilitiescontained in modulesapplication isolation with smarter class loadingcan be introduced and configured as neededLightweight stylesmall memory footprintManagement flexibilitynew Command Line Interface (CLI)new user-friendly web consolecomprehensive Native Management API and HTTPmanagement API
  7. 7. User-focused configuration<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><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.ManagementComponent(type = "MCBean", subtype ="JTA"),targetInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class)</annotation>
  8. 8. Web ConsoleSimpleFastLightweightAvoids XML configSingle instance andDomainsMostly Configuration
  9. 9. Web ConsoleJBoss AS 5.x
  10. 10. Architecture
  11. 11. JBoss ModulesStandalone implementation of modular (non-hierachical)class loading and execution environment for JAVAlibraries packed in moduleslink against the exact modules they depends on, andnothing moreworks with any library or application without changesmakes on-demand services possibleClass loader model is ...thread-safefasthighly concurrent delegating
  12. 12. Module Definition - Static FSRepository<!-- definitions are in module.xml --><module xmlns="urn:jboss:module:1.1"name="org.jboss.logging"><resources><resource-root path="jboss-logging-3.x.x.jar"/></resources><dependencies><module name="org.jboss.logmanager"/></dependencies></module><!-- definitions are in module.xml --><module xmlns="urn:jboss:module:1.1"name="org.jboss.logging"><resources><resource-root path="jboss-logging-3.x.x.jar"/></resources><dependencies><module name="org.jboss.logmanager"/></dependencies></module>
  13. 13. Class LoadingIs based on the principles of modular class loadingModules delegate to one another as peersA module imports modules it directly usesTransitive dependencies are hidden, by defaultDifferent module versions may co-existEvery application deployment is a moduleCore module libraries are implicitly provided by the ServerOther modules need to be explicitly declared in MANIFEST orcustom deployment file (jboss-deployment-structure.xml)
  14. 14. Operating ModesDomain Operating Mode (new)– Spawns multiple JVMs (servers) on multiple physical /virtual machines which build up the domain– Ability to manage multiple JVMs (servers)from a single control point– Servers in the Domain share a common managementpolicyStandalone Operating Mode (Similar to JBossAS 4/5)Which Operating Mode fits into myEnvironment?
  15. 15. Subsystems... are sets of capabilities added by an extensionAdding features and attributes of an extension in a server is donewithin <subsystem> element in the standalone and domainconfiguration file (as part of the <profile> configuration)Configurations of systems are schema-file drivensee $EAP6_HOME/docs/schema
  16. 16. Profile... is a set of configured subsystemsThe <profile> element only allows child element<subsystem>Standalone Modedefines only one single and unnamed profilecan be used as multiplier for other standalone instancesDomain Modecan provide several profileseach profile has specific name and can be used byserver groups
  17. 17. Profiles available out-of-the-boxdefaultmost commonly used subsystems: logging, configadmin,datasources, ee, ejb3, infinispan, mail, jaxrs, jca, jdr, jmx, jpa,mail, naming, osji, pojo, remoting, resource-adapters, sar,security, threads, transactions, web, webservices and weldhadefault + jgroups and modcluster subsystems (cluster)fulldefault + messaging subsystem (HornetQ), cmp, jacorb, jaxr,jsr77full-hafull + jgroups and modcluster subsystems (cluster)
  18. 18. Standalone TopologyOnlydistinctionNo centralizedmanagementcapability!
  19. 19. Domain TerminologyHost = physical or virtual machine
  20. 20. Domain TerminologyMaster = Domain Controller (DC)acts as the central managementcontrol point for the entire domainSlave = host in the domaininteracts with the DC tocontrol the JVMs’ lifecycleaccording to the domain policy
  21. 21. Domain TerminologyProcess controlleris started by domain tospawn server and hostcontroller processesand to manage their I/O
  22. 22. Domain TerminologyServer groupsset of server instancesthat will be managed andconfigured as oneServerseparate JVM processrepresenting an actualApplication Server
  23. 23. Server Groups... are defined in domain.xml using the <server-groups> element<server-groups> consists of a one or more <server-group> child elements<server-groups><server-group name="server-group1" profile="full"><jvm name="default"><heap size="1303m" max-size="1303m"/><permgen max-size="256m"/></jvm><socket-binding-group ref="full-sockets"/><deployments><deployment name="LAB123App.war" runtime-name="LAB123App.war"/></deployments></server-group></server-groups><server-groups><server-group name="server-group1" profile="full"><jvm name="default"><heap size="1303m" max-size="1303m"/><permgen max-size="256m"/></jvm><socket-binding-group ref="full-sockets"/><deployments><deployment name="LAB123App.war" runtime-name="LAB123App.war"/></deployments></server-group></server-groups>
  24. 24. Host Configuration - Servers... are defined in the <servers> element of the configuration file of the host controllerwhere server is going to run on<servers> element can have one or more <server> child elements<servers><server name="server1" group="server-group1" auto-start="true"/><server name="server2" group="server-group2" auto-start="false"><socket-bindings port-offset="100"/></server></servers><servers><server name="server1" group="server-group1" auto-start="true"/><server name="server2" group="server-group2" auto-start="false"><socket-bindings port-offset="100"/></server></servers>
  25. 25. Domain Topology - Big Picture25
  26. 26. Domain - Configurationdomain controller{192.168.178.60}host.xml<domain-controller><local/></domain-controller>domain.xmlhost controller 1{192.168.178.61}host.xml<domain-controller><remote host=”192.168.178.60”port=”9999” /></domain-controller>host controller 2{192.168.178.62}host.xml<domain-controller><remote host=”192.168.178.60”port=”9999” /></domain-controller>
  27. 27. Management interfaces topology27
  28. 28. Domain ArchitectureExamples28This architecture is usedin one of the biggestHealth Insurance companyof Latin AmericaDedicated DomainController4GiB of Memory +2 virtual corescan manage ~100 hosts +200 server domainProbably 1.7GiB +1 core would be finerunning the same 100 hostsand 200 server domain
  29. 29. Domain Architecture ExamplesDC doesnt need to be up all the time.Start DC in the first startup, and then use--backup --chached-dcFor failover, copy domain.xml and host.xml. Usethe same IP of the old one
  30. 30. DEMO
  31. 31. Awaiting VolunteersWant to help us?http://bit.ly/11FYCTh
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×