Вы находитесь на странице: 1из 42

-

545

..-.., .
..

.-.,
..

..-.., .
..

-
2010

SAINT PETERSBURG STATE UNIVERSITY


Mathematics & Mechanics Faculty

Software Engineering Chair

SYSTEMS INTEGRATION IN THE FINANCE INDUSTRY


by
Dmitry Miller
Masters thesis

Supervisor

Professor A. N. Terekhov

Reviewer

PhD, Ass. Prof. A.N. Ivanov

Approved by

Professor A. N. Terekhov

Head of Chair

Saint Petersburg
2013
2


................................................................................................................4
................................................................................................5
.6
.........................14
1 .............................................................................................................14
2 .............................................................................................................19
EAI
.................................................................................................................24
.........................................................................................24
Microsoft BizTalk ....................................................................26
IBM Message Broker ...............................................................31
..............................................................35
................................................................36
................................................................................37
..........................................................................................................40
......................................................................................41
...........................................................................................................42


,

.
, , ERP
, .
,
,
(workflow).
,
,
, , ,
- . ,
/
,
:
?

?
?
, ,
?

?
,
.
,
( , )
( , , ,
), ,
, ,
. ,

, (business to business integration).
(,
, ,
) (T+1).
4


:

,
.

EAI (Enterprise Application Integration)
,
, ,
.

,
, -
: , ,
. :

XML .
, ()
.
:
o .
o , ,
.
o .


, .
:

o XML , .
o Web-Service Import
Trades,
.

Microsoft .Net Web-Service


, ,
.
Microsoft BizTalk Server
2009, .
IBM WebSphere Message
Broker 7.0,
.
, -
EAI.


:
o C ,
,
.
.
o Web-service ,

.
o

,
,
,

, , ()
. ,
(financial services)
( , - , ).
-
. ,
, :
Buy Side - ,
, .
6

, buy-side ,

, .
Sell Side - , /

, :
Sell Side

Buy Side

Service Providers

Broker Dealer

Mutual Fund

Fund Administrator

Investment Bank Pension Fund

Prime Broker

Hedge Fund / Asset Manager Technology Vendor


Insurance company

Market Data Vendor

Individual investor

2008 ,
, 90 [IFSL Research]

( hedge funds )
(subscription),

, (fund manager portfolio
manager).
(, ),

(Broker), (prime broker,
custodian) (settlement)
. ,
- (Fund Administrator) -
, (profit & loss) (NAV)
, .
Investors

Hedge Fund

Broker Dealer

Fund
Administrator

Prime Broker


,
. Front Office (, )
,
,
. Back Office (,
)
,
,
. , Middle Office ( )
,
. ,
, ,
,
(technology vendors). ,
8

,
.
:
Front Office

Middle Office

Back Office

Execution
Management System
(EMS)

Risk Management

Accounting System

Portfolio Management Reporting engine/


Data Warehouse

Reconciliation Engine

Market Data terminal

Portfolio Valuation
Reference Data
Management

( )
- . ,
(Security terms and conditions, TNC) ,
. , ,

(market data vendor),
,
. ,
, ,
. ,
, , ,
, Messaging [EIP].
,
:


(Security terms and conditions)
(market data vendors), ,
, .
,
, . ,

, , .
().
(real-time data)

, EMS Portfolio
Management
,
(, Bloomberg, Thomson
Reuters).
10

(EOD prices) ,
,
.
, ,

[Paladyne Pricing Whitepaper].


,
,
,
- (accounting system),
(portfolio management), (data
warehouse), (risk management).
(trade) , EMS ,
,
(allocation) ,
. ,

.
,
. / (buy & sell),
trades,
, ,
(, , ),
( ,
).
.
(position holding)
. ,
,
, , , ,
, - ( ,
).
. -
. ,

(allocation process).
,
,

11

(profit and loss, PNL)


(, ), ,
, (accrued interest) ..
,
.
,
,
.
,
,
.


. , ,
.

:


.
EMS,
. - FIX Portfolio Management EMS ,
12

. ,
, , ,
trade allocation - ,


- ,
(end-of-day,
closing the books) -
,
.

(EOD pricing).
,
,
-



(5-6 ).

(reconciliation process).
, .
PNL
Market Value ,
Portfolio management
,
.
,

( ),
.

.

.
, (, ,
), , ,
.

13


,
.

, .

- -

-

-

1

-
.
, . ,
-,
, ,
.


,
FTP .
FTP
( , , ).
, ,
- ,
-.
,
, , FTP
c , . ,
:
14

-
FTP c
,
FTP-, -
.
,
,
, ,

- (
:
FIX, SWIFT).
[EIP]:

2
(parent-child) ,
,


,
,

, SQL

,
,


TICKER, ode, ISIN, CUSIP -

(EAI), XSL, SQL



(settlement date)
yyyyMMdd
,
,

("BY"
"Buy", "SL" "Sell" ..)

15


(XML,

,


..)

C
-

(CSV, pipedelimited, tab-delimited)
PGP

XML parser,

EAI,

API

(ASCII,
Unicode)
,

FTP

-
: TCP/IP,
HTTP, SOAP, FTP
..

EAI,

-
-
Portfolio Management .
(Omgeo). ,
,
(technology vendors)

,
- (File Transfer) [EIP]- ,
,
, .
, ,
:
, ,
(
)


16

,

(Remote Procedure Invocation)

,
(Messaging) EAI

,
,
:
, FTP, PGP
-
(
API pen-source PGP ,
)
,
(,
),
- ,
(,
). ,
,
. , , ,
, ,
, .
, -
,
- ,
- .
,
, ,

,
? , (trading desk)
,

17

. ,
, .
- -
- .

(data warehouse):


,
- ,
,
-
.
- ,
..


(
),
:
SQL -

Microsoft SQL Server Integration Services (SSIS) -

XML
18

,
. , 4
( -> ->
PGP -> FTP),
( ,
), .

o ,
,
, Active Batch AutoSys.

,

o (workflow automation)
,

FTP
(, Paladyne Analytics Master),


(,Tradar Insight),

(EzeCastle OMS)
2
, (market data vendors),
,
(security terms and conditions)
(end-of-day prices).

.

( , Bloomberg, Thomson
Reuters, Interactive Data, MarkIT) ,
, . ,
-,

19

FTP ( Mark IT HTTPS)



,
FTP
()
FTP, .
-
,
XML . ()
,
.
, FTP ,
, ( 80 ),

, ,
( FTP
). ,
- Bloomberg, ,
Data License Web-Service - Data License Web Services.
- ( per-security feed),
,

(, ,
). Bulk feed,
,
FTP .
, ,
( , ,
)

, , .
, , ,
(, ,
ad hoc),

(, Paladyne Security Master, Golden Source, Asset
Control)
20

, .
:

.
, ,
.
, - FTP,
, ,
. FTP
, .
, .
()

, .

o / ,
bulk feed,
50

o
.

,
. ,
-
,
, (NS New York
Stock Exchange, LN - London Stock Exchange).
() , , ,
, .. ,
, ,
,
.
o .
,
,
,
21

.
.
,
. , , ,
.

.

,
Extract, Transform, Load (ETL) .
, ETL-
,
. , Extract - FTP , Transform -
Load - - ETL
(, Microsoft SQL Server Integration Services, Oracle
Data Integrator, Informatica, SAS Data Integration, open source - Talend
Open Studio, Clover.ETL, Jitterbit).

, ,
. ,
,
, . ,
,
(, ETL) - Shared
Database [EIP]? ,
, . ,
,
,
. ,

. -
,
.
22


. ,
,
,
, . ,
:
, .
,

,
(,
,
),
,


. ,
, :
,
.
,

Messaging [EIP],
,
.
, Message Endpoint
, Message Channel , Message Router , Message Translator -
, Request-Reply message -
. open
source (EAI Enterprise application integration),
-
.
,
, .

23

EAI

Enterprise Application Integration (EAI)


:
Microsoft BizTalk Server 2009 Microsoft,
.
IBM WebSphere Message Broker 7.0 ,
.
2
,
. -
, EAI .
- ,
EAI -
. :

(
) XML ,

(SourceTradeSchema.xsd):

24

TradeRequest c
Header (
)
TradeData,

.

(Fund,
Broker, PrimeBroker, Strategy, TradeType),
( ode)
( Name).
( TradeData)
TradeId,

Guid,

,


.

,
.
- :
public void StoreTestResult(string testTradeId, string errorMessage, bool posted)

testTradeId ,
.

25

, - ,-
- TradeImportService ImportTrades:
public LoaderOutput ImportTrades(TradeLoader trades)

TradeLoader:

LoaderOutput:

Trade,
( ,
, , , ,
)
TradeUploadStatus,
.

TradeRequest (
) TradeLoader ( ).
,
, TradeType BY, SL, SH BC, ,
.
Microsoft BizTalk

Microsoft BizTalk
( BizTalk orchestration):
TradesToAccountingSystem.odx ,
- :

26

ReciveTrades SourceTradeSchema.xsd
.
BizTalk (),
File . ,
xml ,

27

, ,
, .
ConstructAccSysRequest
-
. BizTalk
(XML ):

SendAccSystemMessage RecieveImportStatus
- ,

LoaderOutput
,

ImportTrades. , ,
-,
BizTalk SOAP .
28

ConstructImportStatus LoaderOuput
XML ,
.
BizTalk.
LogToFile
(
, , ,
).
RouteImportStatus ,
.
ImportStatusRouter.odx Message
Router [EIP]. ,
,
:

29

SetCounter, InterateOverStatuses, IncrementExp


.

30

ExtractImportStatus XPath,
EntityImportStatus
:
ImportStatus = xpath(ImportStatuses, "/*[localname()='ImportStatus']/*[local-name()='EntityImportStatus']["+position+"]");

EntityTypeSwitch
:
System.Convert.ToString(xpath(ImportStatus, "string(/*[localname()='EntityImportStatus']/*[local-name()='EntityType'])")) == "Trade"

StoreTestResult
EntityImportStatus, xpath (
PopulateTestEnpointMsg), -
.
IBM Message Broker

IBM WebShere Message Broker,


( Message
Broker message flow).
TradesToAccountingSystem.msgflow xml
,
- ,
- MQ:

FileInput (node) FileInput,



XML .
31

ProduceTradeRequest Mapping. IBM Message Broker,


BizTalk,

, ,
-
.
InvokeAccSysWebService Subflow. Message
Broker - WSDL,
SOAP,
- HTTP . ,
- .
RemoveResponseHeader HTTPHeader - ,
, ,
HTTP. ,
, Message
Broker c ,
XML
,
.
LogImportDone Trace ,

32

MapImportStatus Mapping. ,
N TradeUploadStatus, N
EntityImportStatus,
.
BizTalk Message Broker
,
for:

MQOutput MQOutput ,

IMPORTSTATUSES, IBM
WebSphere MQ. IBM WebSphere MQ (MQSeries)
(message oriented
middleware),
IBM Message Broker.
MQ . -,
,
Subflow,
( MQOutput, FieOutput). -,
MQ ,
FileInput.

33

RouteImportStatus.msgflow
:

Message

Router

MQ-ImportStatus MQInput. MQ
IMPORTSTATUSES.
XML c EntityImportStatus.
EntityTypeRouter Route.
xpath
.
Trade
( ).
, Default,

(OtherStatusesLog FileOutput).
$Body/Ent:EntityImportStatus/EntityType = 'Trade'
MapTradeStatus Mapping,
EntityImportStatus StoreTestResult .
StoreTestResult_TestStartService Subflow,
-, WSDL .
LogError Trace. , , ,
Fault Failure .

34

,
BizTalk IBM Message Broker,
.
, . ,
,
( BizTalk orchestration, IBM Message Broker
message flow) .
XML , ,
. , ,
,
.
.
, (message router)
( Trade ) .
,
. ,
EntityImportStatus (, SourceSystem),
,
( )
,
.
,
. , ,

. -,
. -,
,
,

EntityImportStatus, EntityStatus
Security.
.
Security,
.

35


.
:
(),
.
: ,
, .

: ,
, ,


(
).
:

36


, S&P Global BMI,
, , , .
,
,
SecData ( )
.
GeneratedTrade. - TestStartService,
:
, .
,
,
.
public void StartTest(string testName, string targetSystemName)

, .
testTradeId,
TestResult .
public void StoreTestResult(string
bool posted)

testTradeId,

string

errorMessage,

- Microsoft .NET 3.5,


Linq to SQL.


, Microsoft
BizTalk IBM WebShere Message Broker :

,
Microsoft
BizTalk

IBM Message
Broker

,
20- , 5-

10-

17

1000

691

33

37

245

20
100 ,
5-

188

105

5 ,

,
( 50-),

5- 1

320

47

100
,

93

31


Microsoft Windows XP Service Pack 3, Intel Core2 2.13 ,
2.0 . ,
- -
:
BizTalk: IIS Server, SQL Server 2005, Microsoft BizTalk, Microsoft
Enterprise Single Sign-On.
IBM Message Broker: IIS Server, SQL Server 2005, IBM MQSeries,
IBM Message Broker.
, Microsoft BizTalk,
.
,

EntityImportStatus

ImportStatusRouter.odx). , , ( Loop)
, , ,
BizTalk ,
.
( BizTalk pipeline), -,
,
, ,
.
38

. , , BizTalk
.
,
,
- . BizTalk,
14 , IBM Message Broker 18 .
BizTalk, ,
IBM . BizTalk ,
(
) C# XPath, IBM
Message Broker
EQSL, . IBM Message
Broker, , ,
(Windows, Linux, IBM
z/OS, Solaris), BizTalk Windows.
IBM Message Broker 97300$
Enterprise Edition, 25000$ Starter Edition ( 10 message flow)
[ EAI]. IBM
WebSphere MQ. Microsoft BizTalk 35000$ Enterprise
edition 8500$ Standard edition (
BizTalk ) [BizTalk Pricing & Licensing]. ,
Microsoft SQL Server Standard Edition
BizTalk Microsoft Visual Studio .
,

, , IBM
WebSphere Message Broker. Microsoft BizTalk
Microsoft, ,
-.

39



.
,
. ,

. ,

,
, .

, ETL ,

. ,
,
,
, , .
, ,
.

(messaging).
(EAI),
,
EAI .
:

.

.

( )

- Microsoft BizTalk IBM
WebSphere Message Broker.

.
, IBM
WebShere Message Broker , Microsoft BizTalk,
.
40


Broker, Broker Dealer . - ,

Execution Management System ,


Fund Adminstrator . ,
,
,
,
, ,
, ..
.
Mutual Fund
Pension Fund
Prime Broker, Prime Brokerage ,
.
, ,
(leverage),
, .
SWF - Sovereign Wealth Fund, .

41


1. [IFSL Research]
International Financial Services London Research: Fund Management 2009,
http://www.ifsl.org.uk/upload/Fund_Management_2009.pdf,
2. [EIP]
Gregor Hohpe, Bobby Wolfe: Enterprise Integration Patterns: designing
building and deploying messaging solutions, Addison-Wesley, 2004
3. []
., ., .: , 5 , -
, 2007
4. [Paladyne Pricing Whitepaper]
Hedge Fund Portfolio Pricing Best Practices, Research Paper,
http://www.paladyne.com/NewsArticles/ValuationsPricingPaladyneFinal.pdf
5. [BizTalk Server 2009]
Microsoft BizTalk Server 2009 Documentation
http://msdn.microsoft.com/en-US/library/aa548004(v=BTS.10).aspx
6. [IBM Message Broker]
IBM WebSphere Message Broker 7.0 documentation
http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp
7. [ EAI]
http://en.wikipedia.org/wiki/Comparison_of_business_integration_software
8. [BizTalk Pricing & Licensing]
http://www.microsoft.com/biztalk/en/us/pricing-licensing.aspx

42

Оценить