emci - nonstopbanking middleware emci - nonstop banking middleware artur stefanowicz emci architect...

26
eMCI - eMCI - NonStop NonStop Banking Banking Middleware Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Upload: katherine-park

Post on 25-Dec-2015

255 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI - eMCI - NonStopNonStopBanking Banking Middleware Middleware

Artur Stefanowicz

eMCI Architect

Finance Industry Practice Manager,NSIS Compaq Polska

Page 2: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

AgendaAgenda

Business case for eMCIBusiness case for eMCI eMCI foundationseMCI foundations ArchitectureArchitecture Key ideasKey ideas Roots and ReferencesRoots and References

Page 3: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Once upon a time banks were Once upon a time banks were stable and predictable...stable and predictable...

• No single system fits all bank’s No single system fits all bank’s needs, so...needs, so...

• They assemble their infrastructure They assemble their infrastructure by incorporation of ‘best in bread’ by incorporation of ‘best in bread’ apps, what results in…apps, what results in…

• Interconnection maze and...Interconnection maze and...• Loss of consistency,Loss of consistency,• Distributed and isolated data,Distributed and isolated data,• Different platforms, apps, etc.Different platforms, apps, etc.

Strong, global competitionStrong, global competition Time to market is keyTime to market is key Non stop operation is a mustNon stop operation is a must Dramatic change for Customer Dramatic change for Customer

perspectiveperspective Implicit acceptance of ever Implicit acceptance of ever

growing technological frontiersgrowing technological frontiers

Evolutionary visionEvolutionary vision Rapid evolution of business Rapid evolution of business

needs & visionneeds & vision Unification infrastructure very Unification infrastructure very

importantimportantMa ste rCa rd

Access

D ine rs C lubD E L TA

Page 4: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Business case for eMCIBusiness case for eMCI

Difficulties with banking application integrationDifficulties with banking application integration different formats & protocolsdifferent formats & protocols different access mechanismsdifferent access mechanisms

Ad-hoc integration model consequencesAd-hoc integration model consequences many interfaces - maintenance problemsmany interfaces - maintenance problems need to develop couple of interfaces when adding new need to develop couple of interfaces when adding new

appapp Economy of integration effortsEconomy of integration efforts

Time & cost to deploy product, channel, service Availability ?...

Page 5: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

24 hours a day24 hours a day

7 days a week7 days a week

365 days a year365 days a year

Page 6: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Business case cont.Business case cont.

In the electronic banking area the most impacting In the electronic banking area the most impacting problems are:problems are:

many sources of transactionsmany sources of transactions separate databases, lack of synchronization which separate databases, lack of synchronization which

leads to inability to represent current coherent view on leads to inability to represent current coherent view on accountsaccounts

hard to route transactions to different host appshard to route transactions to different host apps changing requirements for handling transactions from changing requirements for handling transactions from

different distribution channelsdifferent distribution channels Lack of defined Architecture/Vision for Echanels Lack of defined Architecture/Vision for Echanels

evolutionevolution

Page 7: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Integration problemsIntegration problems

Private interfaces

Each app needs a separate adapter for each applicationit cooperates with

Page 8: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI - base ideaseMCI - base ideas

Universal banking Universal banking middlewaremiddleware platform platform both on-line…both on-line… and batch applicationsand batch applications

Architecture for broad range of electronic Architecture for broad range of electronic banking solutionsbanking solutions

with defined evolution pathwith defined evolution path Fault-tolerant, 24x365 service deliveryFault-tolerant, 24x365 service delivery

Page 9: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Base functionalityBase functionality De-coupling of transaction sources from transaction De-coupling of transaction sources from transaction

destinationsdestinations reuse of application reuse of application gatewaysgateways

Reliable transaction routing between banking applicationsReliable transaction routing between banking applications Business transaction flow modelingBusiness transaction flow modeling

using transactional scripting using transactional scripting Unification of transaction representationUnification of transaction representation

XML-likeXML-like Continuos operationContinuos operation

based on RTRbased on RTR

Page 10: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI - exampleeMCI - example

LAN

Serwery MCI

Serwer Obslugi ISO8583 P B X

T elefonyPC

T elefon

SerwerIVR dla

CallCenter

Stanowiskarobocze w Call

Center

ATMATM

ATM

X.25

LAN

City

W domuW pracy

Centralny SystemBankowy

LAN

T elefon

LAN, WAN

Internet

$

Oddzial

W AN

$

Oddzial

$

Oddzial

dial-up

Inne sieci - Europay,Visa, Polcard

LAN

ELIXIR -Polecenie

Zaplaty

PC

Internet Banking

Klient korporacyjny

SerwerBRESOK2000

LAN

Page 11: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Base architectureBase architecture

KernelGateway

External Front-End

System

Private Interface Internal Message Format

Tra

ns

ac

tio

n R

ou

tin

g

External Back-End

System

Page 12: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI Architecture - key ideaseMCI Architecture - key ideas Allow seamless integration for broad range of apps, Allow seamless integration for broad range of apps,

minimize efforts for adding new appminimize efforts for adding new app Isolation of transaction sources and destinationsIsolation of transaction sources and destinations Internal Message Format (XML)Internal Message Format (XML) GTW-CTC-Destination modelGTW-CTC-Destination model

Full control over transaction executionFull control over transaction execution Scripting mechanism for transaction flow definitionScripting mechanism for transaction flow definition

Detailed run-time information & controlDetailed run-time information & control elaborated config & mgt infrastructureelaborated config & mgt infrastructure

Fault-tolerant transport layerFault-tolerant transport layer RTR-CRTR-eMCIRTR-CRTR-eMCI

Page 13: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Sof

twar

e co

mpo

nent

sS

oftw

are

com

pone

nts

Page 14: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI Transaction ScriptseMCI Transaction Scripts Key eMCI conceptKey eMCI concept The way to define business rules for transaction The way to define business rules for transaction

executionexecution Each transaction type has its corresponding transaction Each transaction type has its corresponding transaction

scriptscript Executed by CTC - scripting engineExecuted by CTC - scripting engine CTC bridges RTR server and client channelsCTC bridges RTR server and client channels

Scripting languagesScripting languages Perl, Tcl with RTR extensions embeddedPerl, Tcl with RTR extensions embedded

Platforms: NT, UNIX, OpenVMS … LinuxPlatforms: NT, UNIX, OpenVMS … Linux

Page 15: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Controlling Tx flowControlling Tx flow

Bank MicroKernel

Common Authorization Database

Gateway

Tra

ns

ac

tio

n R

ou

tin

g

Host Banking System

PROFILE, IBS90,etc

ATM switch iso8583

Call Center

Internet Banking

Electronic Banking

Transaction flow

Page 16: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI Tx Scripts APIeMCI Tx Scripts API

High level abstraction for transactional High level abstraction for transactional communicationcommunication

API CallsAPI Calls Call, AsyncCallCall, AsyncCall CheckReply, GetReplyCheckReply, GetReply BroadcastBroadcast Independent Tx callsIndependent Tx calls

Simple and easy to useSimple and easy to use

Page 17: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Script exampleScript example...

my ($text) = @_;# independent tx example - explicit tx controlIndepStartTx(1000);IndepAsyncCall($IND_APP, $IND_SVC, $IND_FUN, $text);if(IndepAcceptTx() < 0) { # if error of independent tx, reject initiator tx... return -1;}# standard, implicit transactionreturn Call($APP, $SVC, $FUN, $ARGV[0]);

Page 18: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Configuration and managementConfiguration and management

CFGMGR

Komponenty MCI

CFG-PROTOCOLInterfejs CFG-PROTOCOL

Interfejs CFG-PROTOCOLInterfejs CFG-PROTOCOL

CFGINTERFACE

Page 19: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI ConsoleeMCI Console

Page 20: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI transporteMCI transport CRTR - OO layer over RTRCRTR - OO layer over RTR C++ FrameworkC++ Framework

Buffer encapsulation, dynamic type recognition & object Buffer encapsulation, dynamic type recognition & object construction, automatic compression and large message construction, automatic compression and large message segmentationsegmentation

Automatic dispatching to appropriate serviceAutomatic dispatching to appropriate service Encapsulates both transactional and broadcast Encapsulates both transactional and broadcast

communication in RPC-like, call-back modelcommunication in RPC-like, call-back model Handler based model for server structureHandler based model for server structure

Simplified server structureSimplified server structure All common mechanisms implicitAll common mechanisms implicit

Page 21: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI/CRTR handlerseMCI/CRTR handlers#ifndef _ECHO_HANDLER_HXX_#ifndef _ECHO_HANDLER_HXX_

#define _ECHO_HANDLER_HXX_#define _ECHO_HANDLER_HXX_

#include "mci_handler.hxx"#include "mci_handler.hxx"

/**/**

* Handler odsylajacy z powrotem wszystkie otrzymane komunikaty.* Handler odsylajacy z powrotem wszystkie otrzymane komunikaty.

**/**/

class CEchoHandler : public CMciHandlerclass CEchoHandler : public CMciHandler

{{

public:public:

HandleResult HandleResult

OnMsg1(const string& msgIn, string& msgOut);OnMsg1(const string& msgIn, string& msgOut);

HandleResultHandleResult

OnMsgN(const string& msgIn, string& msgOut);OnMsgN(const string& msgIn, string& msgOut);

HandleResultHandleResult

WasProcessed(const string& msgIn);WasProcessed(const string& msgIn);

HandleResultHandleResult

OnPrepare();OnPrepare();

voidvoid

OnAccepted(rtr_reason_t reason);OnAccepted(rtr_reason_t reason);

voidvoid

OnRejected(rtr_reason_t reason);OnRejected(rtr_reason_t reason);

};};

#endif #endif

Page 22: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI Server exampleeMCI Server example

int main(int argc, char* argv[]){

try { ...server.RegisterHandler( svc_no, fun, new CEchoHandler); server.Run(); }catch (CErrException& exception) {

cerr << "[--------- EXCEPTION ----------]" << endl; exception.PrintDescrOn(cerr);

exception.PrintTraceOn(cerr); }

return 0;}

Page 23: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

Process topologyProcess topology

MCI/CTC Machines

RTR

GTW

KNL

MCI/BMK Machines

CTC

CTC

KNL

CFG

GTW KNL

EVL

RTR

GTW

GTW

CFG EVL

MCI/GTW Machines

GTW

Page 24: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

eMCI rootseMCI roots

Handlobank project ‘98/99Handlobank project ‘98/99 Electronic Banking Architecture for BRE ‘98Electronic Banking Architecture for BRE ‘98 DirectDebit project for BRE ‘98DirectDebit project for BRE ‘98 Requirements analysis (July ‘98)Requirements analysis (July ‘98)

based on professional market reportsbased on professional market reports competing products analysiscompeting products analysis

Internal project eMCI (Oct ‘98)Internal project eMCI (Oct ‘98) v2.0 released in March ‘99v2.0 released in March ‘99

Page 25: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska

ReferencesReferences

HandlobankHandlobank Bank Przemyslowo-HandlowyBank Przemyslowo-Handlowy Bank Rozwoju EksportuBank Rozwoju Eksportu

Page 26: EMCI - NonStopBanking Middleware eMCI - NonStop  Banking Middleware Artur Stefanowicz eMCI Architect Finance Industry Practice Manager, NSIS Compaq Polska