middleware track - red hat · 14.00 microservices, le dimensioni non contano ugo landini, samuele...

32
MIDDLEWARE TRACK A cura del Middleware Solution Architect team di Red Hat #redhatosd

Upload: others

Post on 09-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

MIDDLEWARE TRACK

A cura del Middleware Solution Architect team di Red Hat

#redhatosd

Page 2: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Agenda Middleware Track part 1

● 14.00 MicroServices, le dimensioni non contano○ Ugo Landini, Samuele Dell’Angelo

● 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza○ Ugo Landini, Samuele Dell’Angelo

● 15.00 Microservices con JBoss EAP 7: innovare in continuità○ Giuseppe Bonocore

● 15.30 Microregole per grandi progetti con il BRMS○ Andrea Leoncini

Page 3: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Agenda Middleware Track part 2

● 16.00 Integrazione e microservizi: come un cammello può passare dalla cruna di un ago○ Filippo Calà, Ugo Landini

● 16.30 API Management con 3Scale nell’era dei microservizi○ Luca Bigotta

● 17.00 SALA PLENARIA

● 17.15 ESTRAZIONE FINALE PREMI

Page 4: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

#redhatosd

Page 5: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo
Page 6: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

MicroRegole per grandi progetticon il BRMS

Andrea Leoncini

#redhatosd

Page 7: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

La comunità Drools

Workbench (web UI per la redazione e la gestione delle regole)

Expert (Rule Engine)

Fusion (CEP, Complex Event Processing)

jBPM (integrazione con processi)

OptaPlanner (pianificazione delle risorse)

Page 8: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Cos’è un motore di regole (Rule Engine)?

A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal reason"), company policy ("All customers that spend more than $100 at one time will receive a 10% discount"), or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code.

Source: wikipedia

Page 9: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

DROOLS/Red Hat JBoss BRMS

● Vantaggi di un Motore di Regole:○ Permette di dire "COSA fare", e non "COME farlo".○ Separazione della logica e dei dati○ Centralizzazione della conoscenza○ Integrazione dei Tool○ Regole Understandable○ Velocità e Scalabilità

Page 10: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Quando dovreste usare Red Hat JBoss BRMS

● Scenari molto complessi, difficili da definire anche per i business experts

● Non esiste o non è noto un ben definito algoritmo● Requisiti che hanno bisogno di essere modificati molto spesso● Necessità di prendere decisioni molto velocemente, spesso su set

di dati non completi

Page 11: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

rule "Sound the alarm"when $f : FireDetected( ) not( SprinklerActivated() )then // sound the alarmend

Una semplice regola

Una semplice regola CEP, senza il concetto di tempo

Page 12: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

rule "Sound the alarm"when $f : FireDetected( ) not( SprinklerActivated() )then // sound the alarmend

Una semplice regola

Nome Regola

Una semplice regola CEP, senza il concetto di tempo

Page 13: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

rule "Sound the alarm"when $f : FireDetected( ) not( SprinklerActivated() )then // sound the alarmend

Una semplice regola

LHS

Una semplice regola CEP, senza il concetto di tempo

Page 14: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

rule "Sound the alarm"when $f : FireDetected( ) not( SprinklerActivated() )then // sound the alarmend

Una semplice regola

Una semplice regola CEP, senza il concetto di tempo

RHS

Page 15: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

rule "Sound the alarm"when $f : FireDetected( ) not( SprinklerActivated( this after[0s,10s] $f ) )then // sound the alarmend

Una semplice regola CEP

Una semplice regola CEP, con il concetto di tempo

Page 16: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

rule "Sound the alarm"when $f : FireDetected( ) not( SprinklerActivated( this after[0s,10s] $f ) )then // sound the alarmend

Una semplice regola CEP

Una semplice regola CEP, con il concetto di tempo

TEMPO

Page 17: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

CEP con il BRMS

Complex Event Processing: accorgersi di eventi significativi per il business riconoscendo time-based patterns in uno o più data feed in real-time...● Regola + Tempo: aggiunge il concetto di tempo alle regole base

○ Sliding windows○ Entry points○ Time operations

Page 18: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Rule Engine taglia slim

● Possibilità di invocare le regole○ localmente al runtime○ da remoto

● Deploy○ JEE○ OSGI○ Wildfly Swarm○ Spring-Boot○ Java standalone○ Docker

Page 19: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Lanciamo la campagna Pro If

● Non preoccupatevi se la logica della vostra applicazione è piena di If.

● Soprattutto non preoccupatevi se non l’avete capito subito...

● Lanciamo ufficialmente la campagna Pro If○ Gli if dal codice li togliamo noi!

Page 20: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Scenario di deploy

Page 21: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

KIE factor

Sviluppatori e analisti lavorano ai progetti e producono regole, servizi, modelli di dati e processi

Page 22: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

KIE factor

La build dei progetti produce i cosiddetti “artefatti”

Page 23: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

KIE factor

L’Execution Server prende gli artefatti con cui crea la propria base di conoscenza direttamente dal server Maven

Page 24: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

KIE factor

L’Execution Server può essere eseguito nel “Java Flavour” preferito.

Page 25: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Uso del Rule Engine

Page 26: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Uso del Rule Engine

Un Engine “Specializzato”

No scanner, uno specifico GAV, integrato nella mia pipeline di rilascio

Page 27: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

E se serve un motore di regole scalabile ed in alta affidabilità?

HACEP: https://github.com/redhat-italy/hacep/

● Si possono gestire, grazie a JBoss Data Grid, un certo numero di Engine contemporanei○ Mantenendo contemporaneamente copie di backup

● Distribuzione degli eventi per uno o più gruppi uniformi (carta di credito, utente, giocatore, ecc.)

● Scalabilità fino a centinaia di nodi● Prestazioni del cluster direttamente proporzionali al numero di nodi BRMS

Page 28: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

HACEP: https://github.com/redhat-italy/hacep/

Page 29: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

DEMO RULE BRMS

Page 30: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Virtuale

Cloud

Fisico

App tradizionali

Microservizi

Page 31: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Red Hat xPaas

Application Server Pivotal tc Server, VMware vFabric, Oracle WebLogic Server, IBM WebSphere

JBoss EAPJBoss Web Server

In-memory data grid IBM WebSphere eXtreme Scale, Oracle Coherence, Pivotal GemFire, Software AG Terracotta JBoss Data Grid

Application integration IBM Integration Bus, Oracle SOA Suite and ESB, MuleSoft AnyPoint Platform, Sonic ESB, Tibco ActiveMatrix JBoss Fuse

Business rules and process automation

IBM Operational Decision Manager and BPM, Oracle SOA Suite and BPM Suite, Pega BPM, FICO Blaze Advisor

JBoss BRMSJBoss BPM Suite

Messaging IBM WebSphereMQ, Pivotal RabbitMQ, VMware vFabric, Tibco Enterprise Message Service JBoss A-MQ

Mobile IBM MobileFirst, SAP Mobile Platform, Kony Mobility Platform, Telerik Platform, AnyPresence Mobile Application Platform

Data virtualization and data services

IBM InfoSphere, Progress DataXtend SI, Composite Information Server, Denodo JBoss Data Virtualization

Page 32: MIDDLEWARE TRACK - Red Hat · 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza Ugo

Links

Microservices Playgroundbit.ly/msa-instructions

http://developers.redhat.com/downloads

Container Development KitRecorded Demo: https://youtu.be/SPATMHP-xw8

https://github.com/redhat-italy/osd-microservices-appsOSD Demo Applications