OFMP The Road To OSGi Eclipse Democamp Luxembour 2008 - Presentation Transcript
OFMP: the road to OSGi Eclipse Democamp Luxembourg 2008 Frederic Conrotte Covariance Luxembourg
Middle Office Financial Market Platform in Kaupthing Bank Luxembourg started in April 2006
Eclipse RCP / J2EE based on JBoss
Prototype ready on October 2006
Implementation started on October 2006
First release on March 2007 for Forex Desk
Second release on February 2008 for Money Market Desk
Main features STP Front Office to Back Office workflow Treasury Coverage (Forex and Money Market Desks) Spot, Forward, Swaps products supported Deal Monitor, Profit and Loss, Position Keeping services CLS compliancy On-Demand Reporting Project background
Reuters Dealing Front Office Mid Office Back Office EBS Bloomberg Flat files manual entries [other systems] Middle Office Financial Market Application (Foreign Exchange / Money Market / Capital Market) Back Office System Front to Back Workflow
Eclipse RCP for client side
Eclipse Data Binding
Equinox runtime J2EE services based on Spring/Spring DM framework
Spring Security
Spring IDE
IBatis persistence framework
RCML ( www.rcml.net )
JUnit tests suites
Client notifications and STP workflow with JMS
BIRT Report Engine
Maven and m2eclipse
Eclipse AspectJ
Eclipse API Tooling
Technology Behind
TIG : Captures trades from Front Office platforms, BackOffice or any other input trade provider. CDG: Provides contextual data like various Market Data TOG: Send processed trades to BackOffice, Risk Management platforms or any other system. Global Architecture
RCLM allows to express higher level DSL langages useful in several areas like testing, reports generation and UI databinding <doAuthenticateAs userName=" fx -dealer" /> <setBusinessDate date="03-09-2007 08:00" init ="true" /> <addHoliday currency="USD" date="10-09-2007" /> <addHoliday currency="ISK" date="13-09-2007" /> <spotDeal id="spot01"> <buySellIndicator value="BUY" /><!-- BUY, SELL --> <negociatedPart currency="EUR" amount="1000000.00" /> <secondPart currency="USD" amount="1350000.00" /> <spotRate value="1.35" /><!-- BigDecimal --> <rateDirection value="NORMAL" /><!-- NORMAL, INVERSE --> <tradeDate value="03-09-2007" /><!-- Date --> <valueDate value="05-09-2007" /><!-- Date --> <counterpartyId value="9994" /><!-- Integer --> <message><!-- String --> This is a test deal entered by RCML. </message> <source value="TOF" /> </spotDeal> <assertFXSpotPosition portfolioURL="${fx_spot}" currency="USD" value="-1350000" /> <assertFXSpotPosition portfolioURL="${fx_spot_sales}" currency="USD" value="-1350000" /> <assertDealBook portfolioURL="${fx_spot}" containDeals="spot01" /> Rich Client Markup Language
Old architecture 1 single EAR deployed on JBoss exposing several stateless EJBs using RMI Pros: - Standard JEE services provided by JBoss Cons: - Production Server restart required to update a single service - Services interdependency management issues due to growing codebase. - System tend to be synchronous From EAR to OSGi
OSG – What?
OSGi™: „A dynamic module system for Java“
OSGi Overview
OSGi is …
… a module system for Java that allows the definition of …
Modules (called „bundles“),
Visibility of the bundle contents (public-API vs. private-API)
Dependencies between modules
Versions of modules
OSGi Overview
… dynamic
Bundles can be installed, started, stopped, uninstalled and updated at runtime
OSGi is … OSGi Overview
OSGi is …
… service oriented
Bundles can publish services (dynamically)
Bundles can find and bind to services through a service registry
The runtime allows services to appear and disappear at runtime
OSGi Overview
What does OSGi look like? (Low Level) OSGi Overview
New architecture Multiple OSGi bundles defining a single group of related services using Spring DM and exposing them thru Spring HTTPInvoker Pros: - True hot services upgrade - Services status management improved - Asynchronous communication/separation of concerns - Improve modules dependency design Cons: - OSGi is great, but tooling is not quite there yet:
JAR to OSGi bundle automated conversion using BND tool; Service querying, Runtime visualisation
- Lack of properly OSGified JARs => Thanks SpringSource - Strict import/export versioning discipline required - Number of bundles quickly reach more than 100 or 200 => distributed runtimes coming in next OSGi spec 4.2 From EAR to OSGi
Currency bundle migrated including Unit and Integration Tests
Goal to release to full set of OSGified bundles by end of year
IP Issues
Move under umbrella of Eclipse Financial Project
Future plan – Technical level
FPML (fpml.org) Data Structure
Replace iBatis with EclipseLink for modular persistency support
Asynchronous inter modules communication using Enterprise Integration Pattern solutions like Apache Camel
Asset/Liability Management (ALM)
The ALM is a set of tools that allow to the bank management to: - Reach return’s objectives - Manage their liquidity risk - Manage their interest rate risk - Stress test their balance sheet - Meet Basle II requirement Will become essential in banks regarding to the current events
0 comments
Post a comment