Application Integration with Red Hat middleware

Application Integration with
Red Hat middleware
Giovanni Pirola
Senior Solution Architect
Red Hat, Inc.
Pontedera, June 27th 2014
JBOSS MIDDLEWARE
Unified Interaction
Management Tools
JBoss Operations Network
Developer Tools
JBoss Developer Studio
JBoss Portal Platform
Business Process Management
JBoss Business Rules Management System
Service Virtualization/Integration
JBoss Fuse, JBoss A-MQ , JBoss SOA Platform
Data Virtualization/Integration
JBoss Data Services Platform
Application Server & Data Grid
JBoss Enterprise Application Platform, JBoss Enterprise Web Server, JBoss Data Grid
Private Cloud
Red Hat Enterprise Linux
Red Hat Enterprise Virtualization
Accelerate:
Application development,
deployment, and performance
across physical, virtual, and cloud
environments to boost agility.
Public Cloud
Red Hat OpenShift
Enterprise
Integrate:
Disparate data, services,
applications, and devices to
enable productivity and reduce
complexity.
2
Automate:
Decisions, processes and user
interactions to streamline
business flows and optimize
efficiency.
Business Model
100,000+
PARTICIPATE
PROJECTS
(upstream projects)
INTEGRATE
(community platforms)
STABILIZE
(supported products
platforms, & solutions)
3
TARGETING DIFFERENT USE CASES
COMMUNITY
l
l
ENTERPRISE
Community for developing open source
middleware; focus on “release early,
release often”
100+ projects with different release
schedules, dependencies, versions etc.
l
Community focuses on current release only
(e.g. no patches)
l
Ideal for experimental starter projects &
early proof of concepts; not recommended
for production use
4
l
Use case driven platforms that integrate
multiple projects into a single distribution
l
Product focus on long- term stability &
application application compatibility
l
Up to 24x7 enterprise support for mission
critical applications & backed by a global
network of Red Hat partners
l
Ideally suited for long-term enterprise
production use
JBoss Community & Enterprise Releases
Enterprise versions provide long-term support, regular releases
including fixes, new features, and new platforms certifications.
JBoss Community AS
5
5.1
JBoss EAP 5
Full Support (4yrs)
Transition (1yr)
Maintenance (2yr)
6
7
7.1
7.1.2
Community project releases
are not maintained and
never productized
JBoss EAP 6
Full Support (4yrs)
Transition (1yr)
New community features may be
backported to Enterprise versions
8
9
JBoss AS renamed
to Wildfly
Community projects == innovation, release early, release often
Enterprise products == long term stability.
5
RED HAT & YOUR BUSINESS: SUBSCRIPTION MODEL
UPDATES
PATCHES
MISSIONCRITICAL
UPGRADES
MULTILINGUAL
UNLIMITED
INCIDENTS
MULTI-VENDOR
CASE OWNERSHIP
24/7
SECURITY
RESPONSE
TEAM
STABILITY WITH A
PRODUCT LIFECYCLE
OF UP TO 10 YEARS
GLOBAL SUPPORT
SERVICES
CUSTOMER PORTAL
& FORUMS
HARDWARE
CERTIFICATION
SOFTWARE
CERTIFICATION
SOFTWARE
ASSURANCE
AWARD-WINNING
SUPPORT
OPTIONAL
TRAINING
CURRICULA
AVAILABLE
KNOWLEDGEBASE
YEARS
AWARDED:
2011
2012
2013
6
Example : JBoss EAP support lifecycle
Source : https://access.redhat.com/site/support/policy/updates/jboss_notes/
7
JBOSS PaaS SERVICES FOR OPENSHIFT
Moving into the future...
JBoss Fuse
iPaaS
JBoss BPM
bpmPaaS
JBoss EAP
aPaaS
JBoss A-MQ
mPaaS
JBoss BRMS
rulesPaaS
8
JBoss Integration Platform
The need for connectivity today
10
JBoss Fuse Integration Product line
Additive capabilities to fit different use cases
A-MQ
Messaging
Fuse
Fuse Service Works
Fuse ESB
Service Governance
Service Orchestration
Service Development
Fuse ESB
Messaging
Messaging Platform
Integration Platform
Integrate applications,
devices by notification or
exchange of data using
multiple protocols in any
runtime
Mediate, transform, route
and connect between
loosely coupled
components, services
and applications using
enterprise integration
patterns
11
Business Services
Platform
Develop and
choreograph business
services, manage
lifecycle, define and
enforce service policy
and monitor service
activity
Leader in Forrester Wave: Hybrid Integration 2014
Red Hat leader in 3
categories:

Deep Integration

Cloud Integration

Internet of things
(IOT)
12
Complexity in application integration
▶
▶
▶
▶
▶
▶
▶
▶
▶
Applications developed in different languages
Different Data Formats
Different Wire protocols (e.g . Http vs proprietary)
Different processing speeds
Complexity grows exponentially with application #
Support mobile ..... and social
Manage component usage
Change component implementation
Support Business Process Management
13
JBoss A-MQ Messaging
Applications developed in different languages
• Based on Apache ActiveMQ
–
–
–
–
–
–
Reliable
Different Data Formats
Multi-protocol Support
Different Wire protocols (e.g . Http vs proprietary)
Native language clients
Different processing speeds
Multiple O/S support
Complexity grows exponentially with application #
Small footprint
Support mobile ..... and social
Pluggable architecture allows
Managetocomponent
usage
protocols and features
be added
or
customized
Change component implementation
Support Business Process Management
14
Flexibility
• JBoss A-MQ supports multiple transport
protocols.
– OpenWire, Stomp, REST, XMPP, VM, MQTT
• JBoss A-MQ supports AMQP
– Standard protocol
– Provides interoperability with open wire level protocol
• JBoss A-MQ supports multiple languages.
– OpenWire : Java, C++
– Stomp - C, C++, C#, .NET, Delphi, Flash, Perl, PHP,
Pike, and Python
– REST : any language with HTTP capabilities
15
MQTT support : "Internet of Things"
• MQTT (telemetry transport) is a
machine-to-machine connectivity
protocol
– Extremely lightweight
– Rapidly gaining adoption in mobile computing
• Out of the box support with JBoss A-MQ
• JBoss Fuse support via MQTT camel component
• OASIS MQTT technical committee producing a standard
compatible with MQTT V3.1
16
JBoss Fuse ESB
A small footprint, flexible enterprise class open source standards-based ESB
Applications developed in different languages



architecture
Different
processing
speeds
Complexity
grows exponentially
with application
Provides rich set of
components
A-MQ #
for FAST development
Support
mobile
.....exponentially
and social with application #
Complexity
grows
Apache Camel
Excellent integration
Manage component usage
Support
development platform
andmobile ..... and social
Change component implementationApache CXF
tooling
Manage component usage
Lower total cost of ownership
Change component implementation
Support Business Process Management
17
Fabric

Karaf
Different Wire protocols (e.g . Http vs proprietary)
Elastic footprint and
flexible
Different
Wire protocols (e.g . Http
vs ESB
proprietary)
Core
Different processing speeds
JBoss ON
Different Data Formats
Value Proposition
Different Data Formats
Camel Enterprise Integration Patterns
18
150+ Endpoint Components!
http://camel.apache.org/components.html
19
Fuse Fabric
Management of large scale deployments
● Provisioning and deployment
● Create Containers anywhere (Local – Remote – Cloud )
● Upgrade & patching
●
20
Integrated JMX Console (Hawtio)
21
21
JBoss Fuse Service Works
An open source service design, development and integration platform
Different Data Formats development and integration platform
Different Data Formats
Core ESB
Different Wire protocols● (e.g
. Http
vs proprietary)
Builds
on Fuse
ESB and EAP
Different Wire protocols (e.g . Http vs proprietary)
Different processing speeds
● Structured, service-oriented development
Different
processing
speeds
model with application #
Complexity
grows exponentially
SwitchYard
Operational Management
Eclipse Visual Development
Applications developed● inAn
different
languages
open source
service design,
Support
mobile
.....exponentially
and● social
Serviceswith
as application
a first-order#concept
Complexity
grows
● Simplified Service Lifecycle
Manage component usage
Support&mobile ..... and social
Design Repository
Change component implementation
● Visibility and Governance
Automatable Lifecycle
Manage component usage
● Support for distributed, cross-functional
teams
Service Activity
Change component implementation
Monitoring
● Code and model driven tooling
Support Business Process Management
22
Fuse Service Works Layers
Services
Services Framework (SCA)
lightweight service delivery framework providing full life cycle support for developing,
deploying, and managing service-oriented applications
Design Time Governance
Design time lifecycle management
Runtime Governance
SLA enforcement, Activity Monitoring
- DTGov
Service Orchestration
WS-BPEL 2.0 Orchestrate service calls
- RTGov
Web Services Standards: SOAP,
XML/HTTP, RESTful HTTP
Governance
DT: Manage the lifecycle of systems
from inception through deployment
through
subsequent
change
management.
RT: Capture service activity information
and then correlate, analyse and finally
present the information in a form that can
be used by to enforce SLAs, and
optimize their business.
Orchestration
Business Rules
Declarative, inference rule execution
(BPEL)
Web Services Framework
SCA – Expose business logic as a series of services, which assembled
together create solutions that serve a particular business need. These
composite applications can be composed of newly developed services and
business logic from existing systems, reused as part of a composition. SCA
provides a model both for the composition of services and for the creation of
service components
Integration Framework
Transformation, Mediation, Enterprise
Integration Patterns
Reliable Messaging
JMS/STOMP/NMS/MQTT, publish-subscribe/point-2-point, store and forward
23
Riftsaw utilises the WS-BPEL 2.0
standard, which is an XML-based
language for defining business
processes that orchestrate web
services.
Drools is a business rule management
system (BRMS) with an inference based
rules engine, using an enhanced
implementation of the Rete algorithm.
JBoss Fuse ESB
Camel is a versatile integration
CXF
helps you build and develop
framework based on known Enterprise
services using frontend programming
Integration Patterns.. Camel allows
APIs, like JAX-WS and JAX-RS. These
you to define routing and mediation
services can speak a variety of protocols
rules in a variety of domain-specific
such as SOAP, XML/HTTP, RESTful
languages, including a Java-based
HTTP, or CORBA and work over a
Fluent API, Spring or Blueprint XML
variety of transports such as HTTP, JMS
Configuration files, and a Scala DSL.
or JBI.
ActiveMQ fast, lightweight messaging broker that supports a variety of cross
language clients and Protocols from Java, C, C++, C#, Ruby, Perl, Python,
PHP
Services Framework (SCA)
Composites & Components
•
•
•
•
The basic artifact is the Composite, which is the unit of deployment for SCA and holds Services, which can
be accessed remotely. A composite contains one or more Components,
Components contain a business function. Components offer their function as services, which can either be
used by other components within the same module or which can be made available for use outside the
module through Entry Points.
Components may also depend on services provided by other components — these dependencies are called
References.
Services and references allow a component to interact with other components, while the implementation
provides the actual logic for providing and/or consuming services.
24
Macro-composition with SCA
• Component based
Implementation
• Independent of languages,
interfaces and communication
protocols
• Higher level architectural view
• Easily supports
heterogeneuos services
25
JBoss Data Virtualization
JBoss Data Virtualization – Use Cases
27
Data Virtualization:
Turn Fragmented Data into Actionable Information
DATA CONSUMERS
BI Reports
Data Virtualization software virtually
unifies data spread across various
disparate sources; and makes it
available to applications as a single
consolidated data source.
The data virtualization software
implements 3 steps process to bridge
data sources and data consumers:
Easy,
Real-time
Information
Access
Virtual Consolidated Data Source
• Connect: Fast access to data from
diverse data sources
Virtualize
Abstract
Federate
Data Virtualization
Software
• Compose: Easily create unified
virtual data models and views by
combining and transforming data
from multiple sources.
• Consume: Expose consistent
information to data consumers in
the right form thru standard data
access methods.
SOA Applications
• Consume
• Compose
• Connect
Oracle DW
SAP
XML, CSV
& Excel files
DATA SOURCES
28
Salesforce.com
Siloed &
Complex
Turn Siloed Data into Actionable Information
Mobile Applications
ESB, ETL
BI Reports & Analytics
SOA Applications & Portals
Design Tools
Standard based Data Provisioning
JDBC, ODBC, SOAP, REST, OData
Consume
Easy,
Real-time
Information
Access
Dashboard
Optimization
Compose
Unified Virtual Database / Common Data Model
Data Transformations
Caching
Virtualize
Abstract
Federate
Security
Connect
Native Data Connectivity
Metadata
Siloed &
Complex
Hadoop
NoSQL
Cloud Apps
Data Warehouse
& Databases
29
Mainframe
XML, CSV
& Excel Files
Enterprise Apps
Users create data
models based on
metadata:
•
•
•
•
Imported from data sources
Supplied via DDL
Provided by Engine
Specified by user
Models are packaged
in a Virtual Database
(VDB)
30
Virtual Databases (VDBs) are
deployment archives similar to
.WAR.
Source Models
View Models
VDBs contain
VDB Internals
•
•
Connector
Binding
Properties
•
Manifesto Info
•
Source metadata and models
View metadata and models
System metadata
Connection information, which is bound to
sources at deployment time
VDBs are deployed to the query
engine
31
Data Consumer
Apps
Query Engine is core data
virtualization functionality:
Federating relational query engine.
Rule and cost based optimizer,
advanced query planner, caching,
hint processing.
JDBC API
C1
VDB
C2
Connector
Binding (1)
Connector
Binding (2)
Query Engine hosts VDBs, binds
to data sources, performs query
execution and results processing.
Query Engine
DB
Oracle
DB
SQL Server
32
JBoss EAP
Applications
DSDS
Security
JAAS
The server runtime
environment is JBoss EAP.
The Query engine is hosted in
JBoss EAP and uses key
container-provided services:
Transaction
Manager
Embedded DS
xxx-ds.xml
•
•
•
JDV Runtime Engine
Admin /
AdminShell
Admin Socket
Transport
JDBC
JDBC Socket
Transport
ODBC
ODBC Socket
Transport
VDB
VDBs
yyy-ds.xml
•
•
DS
BufferMgr
Threading
Local Caches
etc.
JCA
Profile
Service
Translators
RHQ
DS
33
zzz-ds.xml
Transaction manager
JAAS security framework
Container managed data sources
EAP management infrastructure
EAP deployment
The Server exposes views
/services to consumers and
managed connections and
connection pools for data
sources.
Business Dashboard
Quickly Visualize your Data
34
35
Vi aspetto al JBoss User Group
http://tech.groups.yahoo.com/group/JBUG-milano/
Giovanni Pirola
[email protected]
36