Upload
trinhngoc
View
236
Download
0
Embed Size (px)
Citation preview
Red Hat | JBoss
Integration and Business Rules Mgmt
Michelle Davis
JBoss Senior Solutions Architect
(240) 353-6551 (cell)
May 6, 2014
Tech Day Integration and Rules Agenda
v JBoss Portfolio
v Integration
v Why it is SOOoooooo Hard
v JBoss Integration Solutions
v The Core ESB
v Fuse Service Works
v Business Rules
v When to use
v Events and Planning
l Cloud-ready architecture
l World-class developer productivity
The most ambitious Red Hat JBoss Middleware
release. EVER.
RED HAT CONFIDENTIAL | ADD NAME 4
What is a cloud-ready architecture?
l High degree of automation l Flexible management l Frugal use of resources l Lean, agile development l Open platform
PHYSICAL VIRTUAL PRIVATE PUBLIC
RED HAT JBOSS MIDDLEWARE
MIDDLEWARE
Foundation
Dev
elop
men
t Too
ls
Man
agem
ent T
ools
ACCELERATE
Data Virtualization
Application Integration
INTEGRATE
Business Process Management
User Interaction
AUTOMATE
JBoss EAP JBoss Web Server JBoss Data Grid
JBoss Data Virtualization
JBoss Fuse & A-MQ JBoss Fuse Service Works
JBoss BRMS JBoss BPM Suite
JBoss Portal JBoss Operations Network
JBoss Developer Studio
Red Hat JBoss Middleware
Architectural Considerations
11
Failover
High Availability
Cloud
Routing
Mediation
Load Balancing
Transformation
Configuration Management
IDE / Tooling
SDLC
SupportOperations & Management
Web Console
Web Console
Metrics
Alerts
DSL
JBoss Fuse / JBoss Fuse Service Works
JBoss Data Virtualization
JBoss Fuse / JBoss Fuse Service Works
16
as� � i (a�
� MM� na �
� � cn� � M�� ( � � � � � �
� o� � I � � � � � �
� h � �
� o� � I � � � � r � g�
And Thus is Born: The New ESB Core Bringing together the basis for supporting common integrations
18
80+ Endpoint Components
18 CONFIDENTIAL - NDA
activemq cxf flatpack jasypt
activemq-journal cxfrs freemarker javaspace
amqp dataset ftp/ftps/sftp jbi
atom db4o gae jcr
bean direct hdfs jdbc
bean validation ejb hibernate jetty
browse esper hl7 jms
cache event http jmx
cometd exec ibatis jpa
crypto file irc jt/400
19
80+ Endpoint Components
19
language properties seda stream
ldap quartz servlet string-template
mail/imap/pop3 quickfix sip test
mina ref smooks timer
mock restlet smpp validation
msv rmi snmp velocity
nagios rnc spring-integration vm
netty rng spring-security xmpp
nmr rss spring-ws xquery
printer scalate sql xslt
20
19 Data Formats
20
bindy protobuf castor serialization
csv soap crypto syslog dozer tidy markup
flatpack xml beans gzip xml security hl7 xstream jaxb zip json
� � =Ap c� � � fi� � � =Ap ch"�� v : � t eseq� q� seqAc� "/r�� � =Ap c� � � fi� � � =Ap ch"t eseqAc� "/r�� ( � � p� �c � � pa� p� n� c� fi� ) =�c dh"geqAc� g=(A� q� c� fi� u p� n� c "/r��� (At h� /W� ic� (hpa� p� n� c/WcAh� /r�
21
JBoss A-MQ, aka Apache ActiveMQStandards-based:
Ø JMS 1.1, J2EE 1.4, JCA 1.5, JTA and XA
Ø C, C++, C#/.Net, Python, Perl, PHP, Ruby and Java
Ø multi-protocol broker that supports STOMP, AMQP, MQTT, Openwire,Ø SSL, and WebSockets.
Ø Integrated to: Geronimo, Spring, Tomcat, JBoss and any JEE container (e.g., WebLogic/WebSphere)
Ø Fastest open source JMS provider by some margin and close, or better than, the proprietary alternatives
Highly scalable messaging:
Ø Load balancing, Clustering, peer-to-peer, master/slave HA and federated networks support
Ø Distributed Destinations, smart routing features like exclusive queues and message groups
22
• � � �� p n� A=� � aAq(� � � u � � � a� (: p� � a� ac�� o� � A(� �: �P � � � � cd� � ac� � �( � � � A( � � Aaa�� c� (=(pa� � � ==ip� � vA � � i�/ A(t � h� � � /�
�• Aac� � ) p� i� � �= =(A�� d�
• � A � nq(� � qap n� � Ac�v A a�• � p=qi�c � � � A � nq(�v A � � p( � � ci; � p � � A� � �• � ( � �c � p c� n(�v A � u pcd� � =�� d� � � �t � i�
�• � � (; � � � v : � � � � : � iA=t � c� c� �t P� � �a c� � qn� � ) � a� � � � � d� � � t � ca�� � � � � � � x� � � � � � � � x� � � � At =ip� c��• � � � � p� ( � � � ( � � � � pt =i� t � c�v A � A� � � � � p� � � t Ac� � � � (: p� � a� � =� � p� � �v A ��• � a� � � � ; �
• � qa� � Aq(� � P� � AaaP� � � wf P� � �( �t pvP� qi� � AEP� �i � � P� � At � � P� � AAni� P�� At � At �
�
CXF for ESB Core Web Services A Flexible container for hosting web services .
23
Fuse ESB – the Technologies
� � ps � aMo( sM�cn� � � � r � g�
� � � h� � � � a � �� � � h� � � cn� � � � � �
� � � cn� �� � i c � � �
� � � nA� � � � A� � � � A�� ( l tA� � g� l t�
� � � n�
� � A� � vM� � � a � � r � as�� (aM(g� A� � � �
� � � � A� � � A� � � � � A� � � � A� � s� �
� � � n� � (a� �� � r na�
25
� vai r � � � (c � a� a� � �
� A( � � � � � � � � � � � � ��� c(q� cq(� � P� a� (: p� � xA(p� c� � � � � : � iA=t � c� t A� � i� ��� � (: p� � � � � : � iA=t � c� �a � �� � (acxA(� � ( � � A � � =c��� A� � � � � � t A� � i� � (p: � � cAAip n��� pt =ip� � � � � � (: p� � � � p� � � ; � i� ��� q==A(c� � A(� � pac(p� qc� � P� � (Aaax� q � vA �i � c� �t a��� q � vA � i� � eqp: � i� � � � u pcd� � � � � . �� � �n � � � u pcd� � �a � � � � � � A( � � Aaa� � � ��� �a ; � t pn(� vA � � (At � � �( �� � cA� � � � ��� dAp� � � A� � � x � � A( � A( � c� ��
�o� �i(a�g�
�a� �r�as�
� � Mn a� � (c� a� a� � �
��gno
M���nMv�
g���c�g(o
r�a
s�
JBoss Fuse Service Works Make it an ESB: add in JEE, governance, and make it easy, please
� vM� � � ai sg� r � as�
� � � �� ( � � � � � �
� o� � I � � � � � �
� h � �
� o� � I � � � � r � g�
� � cn� � � � � c � g(or � as�
26
� C ns� I � � � �� o� � I � � � � r � g�
� � c � � � � � aM�
� � � m�
� � � � �
� ((gM� X� � � F�
Service First Development with Switchyard and SCA
Contract-based development for messages, policy, SLA
Dependency Management
Binding Abstractions for interfaces & endpoints
Declarative Transaction & Security Policy
Declarative Data Handling for transformation & validation
� ( � � � � � �
JBoss Fuse Service Works: Bound by Switchyard Switchyard makes all the components work for you
27
Service Component Architecture (SCA)
OASIS standard for creating service-oriented applications ◦ Describe ◦ Assemble ◦ Build
• Defines how to create components and how to combine those components into larger structures called composites.
• Set of specifications for building applications
Defines how to create components and how to combine
32
� � � (c �
� : � (iA(� � � � � A: � =(A: p� � a� (q vt � � nA: � ( � � � � ��� � �i � v t � � �� v : pc; � ( � =A(v n� � A(� a� (: p� � � c( � a�� vA a��� : � c� � � i; apa� � � � � A(( � i�v A � u pcdp � � � � �� (Aaa�a� (: p� � a��� q v t � � =Aip� ; � � � A(� � t � c� p � � =� � � c� A� � a� (: p� � ��� � (apac� � � p � A(t �v A � aq==A(ca� dpacA(p� � � �i ; apa� A� �� qap � aa� �� v : pc; ��� � aqica� � (At � cd� � � qap � aa� =Aip� p� a� � � � � � � � �� d� � � � A( �( � � � ( � � � � � ; � Acd� ( � �= =ip� �v A a�
� � � (c � -‐ � � h� � � � � � nMs E�
� C ns� I � � � �
� ( � � � � � �
JBoss Fuse Service Works: Rule Your Enterprise Governance tools around all key components, all the time
33
Q� � � � A� m� o (� v � sMA� i � � � � � va� i (a� gnsE�
� � � (MM� � vM� �
� � � (MM� � vM� �� � cn� � � ( eM�
� ( � � � � � �
� o� � I � � � � � �
� h � �
� o� � I � � � � r � g�
Your Choice: lightweight services integration or fully capable ESB Get only capabilities you need, with the same great technology.
35
Complex Policies, Rules
(BR1) The manager of a department must belong to that department.
(BR2) An employee cannot earn more than her manager. (BR3) A department of the Toronto office can only be
managed by an employee who has ≥ 10yrs experience. (BR4) An employee can only participate in projects
associated with her department
36
Scheduling Issues
Every organization faces planning problems; There are products and services with a limited set of
constrained resources (employees, assets, time, and money).
Employee/Patient Rosters. Creating timetables for nurses and keeps track of patient bed management.
Educational Timetables. Scheduling lessons, courses, exams, and conference presentations.
Shop Schedules: Tracking car assembly lines, machine queue planning, and workforce task planning.
Cutting Stock: Minimizing waste by reducing the consumption of resources such as paper and steel.
37
Benefits of a BRMS
• BRMS allows decoupling management of business logic from the software development team.
• Business rules can be versioned separately from the code.
• Rules are constructed in a manner more understandable by non-technical staff by means of using flows, decision tables, and specific languages.
• Requirements can be naturally translated into rules.
• Each rule models an isolated, small portion of the business logic and is not part of a monolithic program.
• It is easier to modify a rule than a Java program and to determine the impact of this change on the rest of the application.
38
Use a Rules Engine When…• The issue is too complex to be dealt with using the standard if…
else… approach in the code
• The issue is not too complex to be dealt with using the standard if… else… approach in the code, but the solution might be subject to frequent changes that could break the existing architecture.
• The solution to the problem would comprise of too many nested if…else… statements.
• The hardcoded version of the solution would be unmaintainable.
• The issue is complex and you cannot think of any way of dividing the problem into a series of smaller ones.
• You want to provide ways for a nontechnical business analyst to enter new rules.
39
A single, integrated, certified distribution for Business Rules Management and Complex Event Processing, based on open source community projects:
40
BRMS Components – How this works
Repository
Facts
Decisions
Business RuleDefinitions
Business Data
Enterprise Applications
Decision Service
Business Analysts
Developers
Authoring Tools for Business
Users
Authoring Tools for Developers
43
Detect events of significance to a business by recognizing time-based patterns in one or more real-time data feeds...
“Weather delay in London”
Benefits: ʻActive decision makingʼ: Business makes timely decisions & responds quickly to external events
Applying Business Rules
Key BPM Technology Complex Event Processing Systems � : � ca�