understanding and using client jboss a-mq apis

28
Understanding and using JBoss A-MQ 6.1 and client APIs Kenneth Peeples, Technical Marketing Manager

Upload: opensourcementor

Post on 01-Nov-2014

273 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Understanding and Using Client JBoss A-MQ APIs

Understanding and using JBoss A-MQ 6.1 and client APIs

Kenneth Peeples, Technical Marketing Manager

Page 2: Understanding and Using Client JBoss A-MQ APIs

2 RED HAT

Abstract

In a fast-paced world, you need a messaging platform that makes it easy and safe for enterprise applications to exchange information. Red Hat® JBoss® A-MQ is a high performance, flexible, cost-effective messaging platform that delivers information safely and reliably with a small footprint.

Red Hat JBoss A-MQ clients can connect to a broker using a variety of transports and APIs. The connections are highly configurable and can be tuned for the majority of use cases. Multi-protocol support (JMS 1.1, TCP, SSL, STOMP, NMS) and multi-client support (Java, C, C++) enables real-time messaging with all enterprise assets.

Join this webinar to explore:

An introduction to JBoss A-MQ 6.1. An introduction to JBoss client APIs. A demo using the different client APIs, including the Qpid JMS client API.

Page 3: Understanding and Using Client JBoss A-MQ APIs

JBOSS A-MQ 6.1 INTRODUCTION

Page 4: Understanding and Using Client JBoss A-MQ APIs

4 RED HAT

Join the Red Hat JBoss Developer Program Today

Sign up for your Account now at JBoss.org

Download JBDS Download A-MQ Get Productive!

Page 5: Understanding and Using Client JBoss A-MQ APIs

5 RED HAT

Developer Program Benefits

Access to Enterprise Binaries

Access to Enterprise Developer Forums

Exclusive Enterprise Content

Page 6: Understanding and Using Client JBoss A-MQ APIs

6 RED HAT

JBoss Fuse and A-MQ 6.1

Red Hat JBoss Integration Product Line

Page 7: Understanding and Using Client JBoss A-MQ APIs

7 RED HAT

JBoss Fuse and A-MQ 6.1

Full support for AMQP 1.0 and support for MQTT spec enabled Internet-of-Things (IOT)

Vast library of connectors

Ability to manage

integration processes

Improved High-availability

Integration and messaging

in the cloud

Extend and simplify the enterprise integration capabilities for easier cloud, hybrid and Internet-of-Things integration

Page 8: Understanding and Using Client JBoss A-MQ APIs

8 RED HAT

Red Hat JBoss A-MQ 6.1

Enables integration everywhere for a real-time enterprise

Page 9: Understanding and Using Client JBoss A-MQ APIs

9 RED HAT

Red Hat JBoss A-MQ 6.1 – ActiveMQ 5.9

Runtime configuration – XML selected changes will apply to a running broker

Replicated LevelDB Camel Broker Component MQTT over WebSockets Unified Management Console based on Hawtio

replaces WebConsole

Page 10: Understanding and Using Client JBoss A-MQ APIs

10 RED HAT

A-MQ and the Internet-of-Things (IoT)

What is our differentiator? Universal connectivity and a cost effective solution!

Page 11: Understanding and Using Client JBoss A-MQ APIs

11 RED HAT

Page 12: Understanding and Using Client JBoss A-MQ APIs

JBOSS A-MQ 6.1 CLIENT CONNECTIVITY INTRODUCTION

Page 13: Understanding and Using Client JBoss A-MQ APIs

13 RED HAT

JBoss A-MQ - Transports and Protocols

OpenWire (Default) over TCP/SSL/HTTP(S)/UDP/IP STOMP Multicast MQTT AMQP REST Ajax VM Transport Dynamic Discovery Fanout Protocol Peer Protocol

Page 14: Understanding and Using Client JBoss A-MQ APIs

14 RED HAT

JBoss A-MQ – Client APIs

Native JMS Native C++ Native .NET Qpid JMS REST

Page 15: Understanding and Using Client JBoss A-MQ APIs

15 RED HAT

JBoss A-MQ - Configuration

There are two types of properties that effects client connections:

transport

destination

Page 16: Understanding and Using Client JBoss A-MQ APIs

16 RED HAT

JBoss A-MQ – Native ActiveMQ Client APIs

Establishing a connection between a messaging client and a message broker:

1. Get an instance of the connection factory.2. Use the connection factory to create a connection.3. Get an instance of the destination used for sending or receiving messages.4. Use the connection to create a session.5. Use the session to create the message consumer or message producer.6. Start the connection.

Page 17: Understanding and Using Client JBoss A-MQ APIs

17 RED HAT

JBoss A-MQ – Native Client APIs

Native JMS Client API - standard JMS APIs to interact with the message broker

Native C++ Client API – JMS-like API for C++ for interfacing with Message Brokers

Native .NET Client API - provides a standard .NET interface to Messaging Systems through a JMS style API

Page 18: Understanding and Using Client JBoss A-MQ APIs

18 RED HAT

JBoss A-MQ – Qpid JMS Client API

The Advanced Message Queuing Protocol (AMQP) is an open standard messaging system

The key features of AMQP are:

Open standard (defined by the OASIS AMQP Technical Committee) Defines a wire protocol Defines APIs for multiple languages (C++, Java) Interoperability between different AMQP implementations

Page 19: Understanding and Using Client JBoss A-MQ APIs

19 RED HAT

JBoss A-MQ – REST API

The REST API provides a simple HTTP-based protocol that enables you to interact with the message broker using HTML forms and DHTML scripts.

The following servlets implement REST API:

message servlet queueBrowse servlet

Page 20: Understanding and Using Client JBoss A-MQ APIs

20 RED HAT

JBoss A-MQ – Intra-JVM Connections

Red Hat JBoss A-MQ uses a VM transport to allow clients to connect to each other inside the Java Virtual Machine (JVM) without the overhead of network communication.

Page 21: Understanding and Using Client JBoss A-MQ APIs

DEMONSTRATIONS

Page 22: Understanding and Using Client JBoss A-MQ APIs

22 RED HAT

Native JMS Client Demonstration

Step 1: Open a terminal

Step 2: Change to the extras directory of A-MQ

Step 3: Run java –jar mq-client.jar producer –user admin –password admin

Step 4: Run java –jar mq-client.jar consumer –user admin –password admin

Page 23: Understanding and Using Client JBoss A-MQ APIs

23 RED HAT

INSERT SCREEN SHARE

Page 24: Understanding and Using Client JBoss A-MQ APIs

24 RED HAT

.NET Client Demonstration

Step 1: Download NMS

Step 2: Download VS Express Desktop

Step 3: Create a VB Console Project

Step 4: Create a VB Module

Step 5: Add References (Apache.NMS and Apache.NMS.ActiveMQ)

Step 6: Run Project

Page 25: Understanding and Using Client JBoss A-MQ APIs

25 RED HAT

INSERT SCREEN SHARE

Page 26: Understanding and Using Client JBoss A-MQ APIs

26 RED HAT

AMQP Client Demonstration

Step 1: Clone https://github.com/FuseByExample/activemq-amqp-example

Step 2: Add the transport<transportConnector name=“amqp” uri=“amqp://0.0.0.0:5672”/>

Step 3: Modify pom.xml<activemq.version>5.9.0.redhat-610379</activemq.version>

Step 4: Modify jndi.properties under resourcesamqp://amqpuser:secret@localhost/test/?brokerlist=‘tcp://localhost:5672’

Step 5: mvn –P consumer

Step 6: mvn –P producer

Page 27: Understanding and Using Client JBoss A-MQ APIs

27 RED HAT

INSERT SCREEN SHARE

Page 28: Understanding and Using Client JBoss A-MQ APIs

Q&A

Try JBoss A-MQ – jboss.org/products/amq