Title: Middleware The fascinating world between network and application
1Middleware The fascinating world between
network and application
- Erik Ombelets
- EAI, KBC ICT
2Wat mag je verwachten?
- Integratie tussen applicaties (zelfbouw en
pakketten) - Verbinding met externe partijen
- Focus binnen deze opleiding ligt vooral op
- Machine vs. Machine
- Dus niet
- Mens vs. Machine
- Een showke rond hippe begrippen à la XML,
Webservices, SOA,
3Agenda
- Wat is
- Middleware ?
- Communicatie ?
- Focus op asynchrone communicatie
- Message Oriented Middleware
- File Transfer
- Focus op EAI
- Enterprise Application Integation Backend 2
Backend
4Positioning Middleware
Beeld je eens in - met één druk op de knop kan
ik 3000 kilo Andalusische citroenen met spoed
naar de afzetmarkt in noordwest-België sturen !"
5Positioning Middleware
- Transport over het netwerk wordt afgeschermd voor
de applicatie op verschillende hardware en
software - Integratie van toepassingen
- Situering lagenmodel iedere laag, eigen
verantwoordelijkheid
logisch
Toepassing
Toepassing
Netwerklagen
KBC netwerk
6Missie Middleware
- Het doel van middleware bestaan erin om
oplossingen aan te reiken om toepassingen met
elkaar te integreren. De toepassingen kunnen op
hetzelfde of een verschillend platform draaien en
kunnen aangekocht of zelf gebouwd zijn. De
systemen waarop de toepassingen draaien kunnen
interne of externe systemen zijn. - De voorkeur gaat uit naar generische oplossingen
(oplossingen die breder ingezet kunnen worden),
maar specifieke problemen worden via maatwerk
opgelost.
7Middleware in de markt (1)
'Off-the-shelf connectivity software which
supports distributed processing at run-time and
which is used by developers to build distributed
software'
Ovum Limited
8Communicatie ?
9Communicatie probleemstelling
- Wat is van belang bij communicatie?
- Waar bevindt zich de andere toepassing?
- Soorten communicatie
- Beveiliging
- Is degene die het bericht stuurt wel degene die
hij beweert te zijn? - Mag het bericht onderweg gelezen worden?
- Vertalingen nederlands -gt engels -gt tjechisch
- Berichten (messages) korte berichten, 1 record
- Bestanden (files) grotere hoeveelheid, meerdere
records
10Verschillende communicatievormen
- Conversationeel
- Vraag and antwoord (synchroon)
- Messaging (Asynchroon)
11Verschillende communicatievormen
- Conversationeel
- Telefoon gesprek
- Connectie is onder controle van beide partijen.
- Beschikbaarheid van het netwerk is een vereiste
- "peer-to-peer"
- vb. APPC
MQSIntro.ppt
12Verschillende communicatievormen
- Synchroon
- Sprekende klok (vraag-antwoord)
- Beschikbaarheid van het netwerk is een vereiste
- "client-server"
- vb. RPC
MQSIntro.ppt
13Verschillende communicatievormen
- Asynchroon
- Email
- Niet afhankelijk van beschikbaarheid van
netwerk/applicatie - Tijds onafhankelijke verwerking
- "peer-to-peer" en "client/server
- Publish/Subscribe
- vb. WSMQ, JMS,
MQSIntro.ppt
14Agenda
- Wat is
- Middleware ?
- Communicatie ?
- Focus op asynchrone communicatie
- Message Oriented Middleware
- File Transfer
- Focus op EAI
- Enterprise Application Integation Backend 2
Backend
15EAI vs. Connectivity vs. Netwerk
Naar toepassing X enY in de lay out zus en zo!
Wat moet er met een opdracht gebeuren?
Platform B
Platform A
EAI
Toepassing 2
Toepassing 1
Waar kan ik X vinden?
Op platform B!
Hoe geraak ik op platform B?
Connectivity
Langs hier!
Netwerk
16Asynchrone communicatie
Adresseren
Communiceren
Postverdeel centrum X
Routeren
17Websphere MQ
- MQ Messaging Queuing
- Transactional exchange of data
- Platform independent
- Application independent
- Use of a common simple API
- Based on Messages and Queues
- Network independent
- Time independent
- Assured message delivery
MQSIntro.ppt
18Websphere MQ
MQSIntro.ppt
19Messages
- Message
- Headers
- Set by the application and the Queue Manager
- Multiple headers
- Application Data
- Not meaningful for MQ
MQSIntro.ppt
20Messaging styles
- Fire and Forget
- Request / Response
MQSIntro.ppt
21Queues
- Queue
- A place to store messages (message repository)
- Message Types
- Persistent
- Non Persistent
- Message Access
- Priority
- FIFO
- Queue Creation
- Predefined
- Dynamic
MQSIntro.ppt
22Queue types
- Local Queues
- Local Queue definition
- Dead Letter Queue
- Transmission Queue
-
- Alias Queues
- Model Queues
- Remote Queues
- Local definition of a queue on another platform
MQSIntro.ppt
23An idea about numbers
- Internal MQ messages
- Volume / day AVG 300 GB, MAX 1 TB
- (20 grow this year)
- transfers / day AVG 44 000, MAX 85 000
- servers KBC 658
- protocols used for internal file transfers 1
- External MQ messages (through KBC Belgium)
- Volume external transfers / day 6.6 GB
- external transfers / day 770
- connected sites 90 (25 grow this year)
- protocols used for external file transfers
/- 10
24Agenda
- Wat is
- Middleware ?
- Communicatie ?
- Focus op asynchrone communicatie
- Message Oriented Middleware
- File Transfer
- Focus op EAI
- Enterprise Application Integation Backend 2
Backend
25File Transfer
- Gebruik van bestanden
- In Batch uitwisselen van informatie op meest
geschikte moment - Gegarandeerde levering
- Tussen verschillende toepassingen / platformen
- Gebruik van aangekochte produkten
26Our products
- Interne file transfers Connect Direct
- voor alle transfers van en naar interne server
- Externe file transfers Synchrony gateway en
connect Direct - Verschillende protocols
- Vb ftp, sftp, http(s), AS2, AS3,
- Via B2B gateway
27An idea about numbers
- Internal File transfer
- Volume / day AVG 300 GB, MAX 1 TB
- (20 grow this year)
- transfers / day AVG 44 000, MAX 85 000
- servers KBC 658
- protocols used for internal file transfers 1
- External File transfer (through KBC Belgium)
- Volume external transfers / day 6.6 GB
- external transfers / day 770
- connected sites 90 (25 grow this year)
- protocols used for external file transfers
/- 10
28Agenda
- Wat is
- Middleware ?
- Communicatie ?
- Focus op asynchrone communicatie
- Message Oriented Middleware
- File Transfer
- Focus op EAI
- Enterprise Application Integation Backend 2
Backend
29EAI vs. Connectivity vs. Netwerk
Naar toepassing X enY in de lay out zus en zo!
Wat moet er met een opdracht gebeuren?
Platform B
Platform A
EAI
Toepassing 2
Toepassing 1
Waar kan ik X vinden?
Op platform B!
Hoe geraak ik op platform B?
Connectivity
Langs hier!
Netwerk
30ICT in dienst van evoluerende business
doelstellingen
- KBC wil (en moet) steeds sneller en meer
kwalitatieve nieuwe diensten kunnen aanbieden - snel inspelen op trends of nieuwigheden in de
markt - Meer geïntegreerd diensten aanbieden
- bv. iemand die een hypotheeklening afsluit ook
direct een woningpolis kunnen aanbieden - Tegemoet komen aan steeds striktere eisen van de
overheid - Berekening en beheersing van risicos
- Rapportering van wit-was praktijken e.d.
31Steeds meer applicaties
mainframe
Zelf ontworpen en zelf gebouwde toepassingen
1970
32Gevolgen van deze evoluties voor ICT
- ICT zet steeds meer aangekochte toepassingen op
- Aankopen gaat sneller dan zelf ontwikkelen
- Dikwijls rijkere set van mogelijkheden in
kant-en-klare software - De trend naar meer geïntegreerde serviceverlening
betekent dat je - Verschillende toepassingen met mekaar moet laten
spreken - Toepassingen kunnen uit volledig verschillende
domeinen van de groep komen vb. toepassingen
voor bankieren wisselen data uit met toepassingen
voor verzekeren - gtgtgt ICTers worden steeds meer integrators
33Een voorbeeldje
IMS/COBOL
Boekhouding
i n t e r n e t
DB2
Cliënten databank
DB2
Rekeningen databank
CRM
Polissen
34Technologische incompatibiliteit
IMS/COBOL
Boekhouding
i n t e r n e t
DB2
Cliënten databank
DB2
Rekeningen databank
CRM
Polissen
35Data incompatibiliteit
Naam Andre Meert ANDRE???????? MEERT???????? ltLastnamegtMEERTlt/Lastnamegt ltFirstnamegtAndrelt/Firstnamegt
Geboortedatum 19-05-1947 019470519 ltBirthDategtMAY-19-47lt/BirthDategt
Geslacht MAN M ltGendergtmalelt/Gendergt
Burgerlijke stand GETROUWD M ltStatusgt ltStatusTypeCodegt2lt/StatusTypeCodegt ltStatusCodegt4lt/StatusCodegt lt/Statusgt
CSV
fixed
XML
36Vertalingen codepage
- Communicatie van bytes (bits 0 of 1)
- Betekenis wordt gegeven door interpretatie
codetabellen Bv. HEX 20 is een spatie in ASCII - Codetabellen zijn afhankelijk van
- Besturingssysteem
- mainframe EBCDIC (Extended Binary Coded Decimal
Interchange Code ) - open systemen ASCII (American Standard Code
forInformation Interchange ) - Land speciale karakters (ander alfabet)
Latin1 (West Europa), Latin2 (Centraal Europa) - Universele code (unicode) multibytes
charactersets (MBCS) gebruiken om karaker voor te
stellen (bv. UTF 8)
37De EAI uitdaging
- Een multidisciplinaire wereld
- Een vaak incompatibele wereld
- met verschillende toepassingen én pakketten
- op verschillende hardware platformen
- op verschillende OSen
- met verschillende protocollen, dataformaten
- met verschillende codepages
- samenlijmen tot één geïntegreerd
applicatie-platform voor onze bankiers en
verzekeraars - dát is ENTERPRISE APPLICATION INTEGRATION
38Wat als
- verschillende hardware-platformen en OSen nu
eens geen rol meer zouden spelen? - interface, berichtformaat of communicatievorm
geen rol meer speelt? - alle integratie stromen in een hierop
toegespitste technologieplatform kunnen worden
gebouwd en gedraaid? - stimuleert hergebruik van resources en
componenten - stimuleert hergebruik van kennis
- verbetert overzicht over de informatiestromen
- dan zou het plaatje er zo kunnen uitzien
39Enterprise Application Integration
IMS/COBOL
Boekhouding
i n t e r n e t
DB2
Cliënten databank
DB2
Rekeningen databank
EAI
CRM
Polissen
40Wat biedt EAI?
Adapter Connectie Semantische transformatie Syntac
tische transformatie Security
Adapter Connectie Semantische transformatie Syntac
tische transformatie Security
Intelligente router Replicator
Correlator Filter Router Security
41Wat biedt EAI?
- Adapter
- Connectie
- Verbinding van én naar de wolk
- Veel variatie mogelijk!
- Syntactische transformatie
- EAI-Syntax van of naar syntax van verzender of
ontvanger - B.v. Cobol Copy book naar XML
- Semantische transformatie
- EAI-berichtmodel van of naar berichtmodel van
verzender of ontvanger - B.v. Native info van verzender naar NDM
- Security
- Authenticatie, authorisatie, encryptie en
decryptie
42Wat biedt EAI?
- Intelligente router
- Replicatie
- Copiëren van berichten ifv Publish Subscribe
- Correlatie
- Linken van berichten ifv Request Reply, Rendez
Vous Points, - Filter
- Content based filtering
- Key based filtering met een filtertabel
- Router
- Adressering
- Security
- Authenticatie, authorisatie, encryptie en
decryptie
43Integratie niks nieuws
- Integratie is iets van alle tijden
- Manueel Import/export functies
- in toepassingen
- File Transfer protocols
- Message Oriented Middleware
- De manier waarop verandert wél
- Snellere time to market
- Méér flexibiliteit
- Betere performance
- STP, Straight Through Processing
- minder menselijke tussenkomst in
informatieverwerking - Goedkoper
44point 2 point architectuur
Application A
Application B
Manuele transfer
Business proces logic
Business proces logic
Manuele transfer
Application C
Application D
Business proces logic
Business proces logic
Manuele transfer
45Message bus architectuur
Application A
Application B
Business proces logic
Business proces logic
Application C
Application D
Business proces logic
Business proces logic
46Zonder message bus EAI
IMS/COBOL
Boekhouding
i n t e r n e t
DB2
Cliënten databank
DB2
Rekeningen databank
CRM
Polissen
47Reality checkKBC vandaagmessage bus EAI
B2B / ASP applications Third parties
Mainframe zOS DB/2
i n t e r n e t
HTTP/S
MMTP
MQ
ITOC
ALE
EAI
JavaRMI
3rd party applications
TCP/IP
JDBC
48FutureApplication Oriented Networks
- Klassieke netwerk-technologie fabrikanten bieden
nu ook al services aan die we terugvinden in het
EAI referentiemodel - Services zitten ingebed in het netwerk, bv. in
intelligente routers af netwerk-appliances - Speciale EAI of ESB servers niet meer nodig,
functionaliteit verhuist naar netwerk
Work Flow
Process Flow
Transformatie
?
Routering
Transport
A
B
Connectiviteit
49EAI
?
Vragen
50Enkele definities van EAI
- "Acronym for Enterprise Application Integration.
EAI is the unrestricted sharing of data and
business processes throughout the networked
applications or data sources in an organization.
- As enterprises grow and recognize the need for
their information and applications to have the
ability to be transferred across and shared
between systems, companies are investing in EAI
in order to streamline processes and keep all the
elements of the enterprise interconnected. - Webopdia
51Enkele definities van EAI
- "EAI is the ongoing process of putting an
infrastructure in place, so that a logical
environment is created that allows business
people to easily deploy new or changing business
processes that rely on IT." - EAI is not something you can buy. EAI is not a
product. It is not some kind of development tool.
It is even not a category of middleware. EAI is
something you do. It is a way of increasing the
business value of your IT environment. - However, it is also true that it is an IT
approach that typically will make use of various
middleware products and technologies. - Marc Buyens, Xpragma