Securing Fuse 6.3 Fabric Cluster Management Console with SSL/TLS

Introduction

Enabling SSL/TLS in a Fabric is slightly more complex than securing a jetty in a standalone Karaf container. In the following article, we are providing feedback on the overall process. For clarity and simplification, the article will be divided into two parts.

 

Part1: The Management Console

Part2: Securing Web Service:including gateway-http

 

For the purpose of this PoC, the following environment will be used.

Continue reading “Securing Fuse 6.3 Fabric Cluster Management Console with SSL/TLS”


Download and learn more about Red Hat JBoss Fuse, an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. It is Java™ EE 7 certified and features powerful, enterprise-grade features such as high availability clustering, distributed caching, messaging, transactions, and a full web services stack.


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

JBoss EAP 7 Domain deployments – Part 4: Domain deployment with REST Management API.

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of five parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.

In part one of this series, we setup a simple JBoss EAP Domain. In  part two we reviewed the EAP Management Console deployment Mechanism and deployed the helloworld-html5 EAP Quickstart on the main-server-group ( Server11 and Server21), in part three, we checked how to deployedhelloworld-html5 on secondary-server-group using the CLI Command line; in this tutorial, part four, we are going to explore another deployment option: the REST Management API. To do so, we will upload a file in the EAP content repository and then deploy it.

Management Interfaces

On the master domain controller, we set up two management interfaces: the native on port 9999, and the HTTP management interface on port 9990.

While the CLI uses the native management port, and the EAP management console and the REST API are available on the HTTP management port, all these management interfaces also share common XML configuration files: host.xml/domain.xml. They also send commands to EAP using an intermediate representation called DMR ( Dynamic Model Representation).

DMR

DMR stands for Dynamic Model Representation, and it is a new syntax introduced with EAP 6 to denote Java objects associated with EAP Management interfaces. DMR is flatter than XML files and all the items are at the same level. Let’s check out a sample:

The domain.xml configuration section containing EAP profiles and server groups looks like this:

<profiles>
 <profile name="default">
   ....
 </profile>
 <profile name="ha">
   ....
 </profile>
 <profile name="full">
   ...
 </profile>
 <profile name="full-ha">
   ...
 </profile>
 </profiles>

 <server-groups>
 <server-group name="primary-server-group" profile="full">
   ...
 </server-group>
 <server-group name="secondary-server-group" profile="full">
   ...
 </server-group>
 <server-group name="singleton-server-group" profile="default">
   ...
 </server-group>
</server-groups>..

And the DMR representation of this same XML looks like this:

...
"profile" => {
 "default" => undefined,
 "ha" => undefined,
 "full" => undefined,
 "full-ha" => undefined
 },
 "server-group" => {
 "primary-server-group" => undefined,
 "secondary-server-group" => undefined,
 "singleton-server-group" => undefined,
 },
...

Continue reading “JBoss EAP 7 Domain deployments – Part 4: Domain deployment with REST Management API.”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

JBoss EAP 7 Domain deployments – Part 3: Domain deployment with Common Language Interface CLI.

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of five parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP. In the part one, we set up a simple EAP domain with the following topology:

JBoss EAP Simple Domain

In part two we reviewed the EAP management console deployment mechanism, and deployed the helloworld-html5 EAP Quickstart on the main-server-group ( Server11 and Server21).

When it comes to interactions with a continuous deployment software factory, however, we need more powerful and flexible tools to organize the build and deployment process — the management console is not a good fit for build automation.

To solve this problem, JBoss EAP provides users with both a CLI tool and a simple REST API to perform complex administration tasks.

In this blog, we will use the EAP CLI to deploy the helloworld-html5 Application on the secondary-server-group.

CLI Deployment

Remember, from parts one and two, that the management CLI is available through the native management interface configured in host-master.xml on 127.0.0.0:9999.

Prior to EAP 7.0, you needed your EAP instance / controller to be up and running before connecting and interacting with the CLI, but EAP 7.0 brings a new feature called the offline management CLI. This means you don’t need the server to be started in order to use the CLI (learn more about the Offline CLI). The deploy command, however, still requires a connection to the controller.

Make sure your domain and hosts controllers are started, then run the following commands:

cd $EAP_DOMAIN/labs/jboss-eap-7.0/bin
/jboss-cli.sh --connect --controller=127.0.0.1:9999
[domain@127.0.0.1:9999 /]

You are now connected to the CLI and can check the existing deployments in the domain repository:

[domain@127.0.0.1:9999 /] deploy -l
NAME                       RUNTIME-NAME
jboss-helloworld-html5.war jboss-helloworld-html5.war
[domain@127.0.0.1:9999 /]

jboss-helloworld-html5.war is deployed on the primary-server-group, and you can verify this by checking the deployment info of the group:

[domain@127.0.0.1:9999 /] deployment-info --server-group=primary-server-group
NAME RUNTIME-NAME STATE
jboss-helloworld-html5.war jboss-helloworld-html5.war enabled
[domain@127.0.0.1:9999 /]
...
[domain@127.0.0.1:9999 /] deployment-info --server-group=secondary-server-group
NAME RUNTIME-NAME STATE
jboss-helloworld-html5.war jboss-helloworld-html5.war not added
[domain@127.0.0.1:9999 /]

Now we can add the jboss-helloworld-html5.war deployment on our secondary server group, with the following command:

[domain@127.0.0.1:9999 /] deploy --name=jboss-helloworld-html5.war --server-groups=secondary-server-group
[domain@127.0.0.1:9999 /]

With the —name option, the deployment is located in the EAP  content repository, if you want to specify another file location you can just use the –file_path option and remove —name.

Congratulations! The deployment is now active on server 12 (HTTP 8280) and server 22 (HTTP 8480). In the next section (part four) we will see how to perform deployments using the REST Management API.

Capture d’écran 2016-07-19 à 14.53.33

 

 


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 


Download and learn more about Red Hat JBoss Fuse, an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. It is Java™ EE 7 certified and features powerful, enterprise-grade features such as high availability clustering, distributed caching, messaging, transactions, and a full web services stack.

JBoss EAP 7 Domain deployments – Part 2: Domain deployments through the EAP 7.0 Management Console

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of 5 parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.

  • Part 1: Setup a simple EAP 7.0 Domain.
  • Part 2: Domain deployments through the new EAP 7.0 Management Console (this article)
  • Part 3:  Introduction to DMR (Dynamic Model Representation) and domain deployments from the Common Language Interface CLI.
  • Part 4: Domain deployment from the REST Management API.
  • Part 5: Manage EAP 6 Hosts from EAP 7.0 domain

In part 1 of this series on JBoss EAP 7 Domain deployments, we set up a simple EAP 7.0 domain with three hosts:

Review the domain Configuration

The domain controller host0, and two slaves hosts running several EAP 7.0 instances.

JBoss EAP Simple Domain

In the following tutorial we are going to see how to deploy an application on JBoss EAP domain using the new EAP 7.0 Management Console.

Continue reading “JBoss EAP 7 Domain deployments – Part 2: Domain deployments through the EAP 7.0 Management Console”


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

JBoss EAP 7 Domain deployments – Part 1: Set up a simple EAP Domain

Red Hat JBoss EAP 6 introduced some new concepts like configuration simplification, Modularity, new management CLI , User friendly management console  and an amazing feature called “Domains”. Domain mode change the way application are deployed on EAP instances.

JBoss EAP 7.0 was just released and announced by Red Hat.

In this blog series we will present several ways to deploy an application on an EAP Domain. The series consists of 5 parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.

  • Part 1: Setup a simple EAP 7.0 Domain (this article).
  • Part 2: Domain deployments through the new EAP 7.0 Management Console
  • Part 3:  Introduction to DMR (Dynamic Model Representation) and domain deployments from the Common Language Interface CLI.
  • Part 4: Domain deployment from the REST Management API.
  • Part 5: Manage EAP 6 Hosts from EAP 7.0 domain

Part 1: Setup a simple EAP 7.0 Domain.

The JBoss EAP “Domain” mode differs from traditional Standalone mode and allows you to deploy and manage EAP instances in a multi server topology. In this first article we are going to set up a JBoss EAP 7.0 domain with the following requirements:

  • 1 Domain Controller on a machine called host0
  • 1 Host Controller on a machine host1 with two EAP instances Server11 and Server12
  • 1 Host Controller on a machine host2 with Three EAP Instances Servers21, Server22 and  Server23
  • Host0 should be run as the master controller,
  • Host1 and Host2 are slaves connecting to Host0
  • Server11 and Server21 are members of the primary server group ( name=primary-server-group)
  • Server12 and Server22 belong  to the secondary server group (name=secondary-server-group)
  • Server23 is the only member of the  singleton server group ( name= singleton-server-group)
  • In real life Machine Host1, Host2 are mostly  in different physical location but for the purpose of this tutorial we are going to simulate them  on the same localhost using a signed EAP 6.4 installation and different configuration folders for each Machine.
  • To keep it simple we will not cover JVM Configuration in depth details  in this part.

Continue reading “JBoss EAP 7 Domain deployments – Part 1: Set up a simple EAP Domain”


Download and learn more about Red Hat JBoss Fuse, an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. It is Java™ EE 7 certified and features powerful, enterprise-grade features such as high availability clustering, distributed caching, messaging, transactions, and a full web services stack.


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!