OFMP: the road to OSGi Eclipse Democamp Luxembourg 2008 Frederic Conrotte Covariance Luxembourg
<ul><li>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 </li></ul>Main features STP Front Office to Back Office workflow Tre...
Reuters Dealing Front Office Mid Office Back Office EBS Bloomberg Flat files manual entries [other systems] Middle Office ...
<ul><li>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
Upcoming SlideShare
Loading in …5
×

OFMP The Road To OSGi Eclipse Democamp Luxembour 2008

1,242 views

Published on

Published in: Technology, Economy & Finance
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,242
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

OFMP The Road To OSGi Eclipse Democamp Luxembour 2008

  1. 1. OFMP: the road to OSGi Eclipse Democamp Luxembourg 2008 Frederic Conrotte Covariance Luxembourg
  2. 2. <ul><li>Middle Office Financial Market Platform in Kaupthing Bank Luxembourg started in April 2006
  3. 3. Eclipse RCP / J2EE based on JBoss
  4. 4. Prototype ready on October 2006
  5. 5. Implementation started on October 2006
  6. 6. First release on March 2007 for Forex Desk
  7. 7. Second release on February 2008 for Money Market Desk </li></ul>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
  8. 8. 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
  9. 9. <ul><li>Eclipse RCP for client side
  10. 10. Eclipse Data Binding
  11. 11. Equinox runtime J2EE services based on Spring/Spring DM framework
  12. 12. Spring Security
  13. 13. Spring IDE
  14. 14. IBatis persistence framework
  15. 15. RCML ( www.rcml.net )
  16. 16. JUnit tests suites
  17. 17. Client notifications and STP workflow with JMS
  18. 18. BIRT Report Engine
  19. 19. Maven and m2eclipse
  20. 20. Eclipse AspectJ
  21. 21. Eclipse API Tooling </li></ul>Technology Behind
  22. 22. 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
  23. 23. RCLM allows to express higher level DSL langages useful in several areas like testing, reports generation and UI databinding <doAuthenticateAs userName=&quot; fx -dealer&quot; /> <setBusinessDate date=&quot;03-09-2007 08:00&quot; init =&quot;true&quot; /> <addHoliday currency=&quot;USD&quot; date=&quot;10-09-2007&quot; /> <addHoliday currency=&quot;ISK&quot; date=&quot;13-09-2007&quot; /> <spotDeal id=&quot;spot01&quot;> <buySellIndicator value=&quot;BUY&quot; /><!-- BUY, SELL --> <negociatedPart currency=&quot;EUR&quot; amount=&quot;1000000.00&quot; /> <secondPart currency=&quot;USD&quot; amount=&quot;1350000.00&quot; /> <spotRate value=&quot;1.35&quot; /><!-- BigDecimal --> <rateDirection value=&quot;NORMAL&quot; /><!-- NORMAL, INVERSE --> <tradeDate value=&quot;03-09-2007&quot; /><!-- Date --> <valueDate value=&quot;05-09-2007&quot; /><!-- Date --> <counterpartyId value=&quot;9994&quot; /><!-- Integer --> <message><!-- String --> This is a test deal entered by RCML. </message> <source value=&quot;TOF&quot; /> </spotDeal> <assertFXSpotPosition portfolioURL=&quot;${fx_spot}&quot; currency=&quot;USD&quot; value=&quot;-1350000&quot; /> <assertFXSpotPosition portfolioURL=&quot;${fx_spot_sales}&quot; currency=&quot;USD&quot; value=&quot;-1350000&quot; /> <assertDealBook portfolioURL=&quot;${fx_spot}&quot; containDeals=&quot;spot01&quot; /> Rich Client Markup Language
  24. 24. 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
  25. 25. OSG – What? <ul><li>OSGi™: „A dynamic module system for Java“ </li></ul>OSGi Overview
  26. 26. OSGi is … <ul><li>… a module system for Java that allows the definition of … </li><ul><li>Modules (called „bundles“),
  27. 27. Visibility of the bundle contents (public-API vs. private-API)
  28. 28. Dependencies between modules
  29. 29. Versions of modules </li></ul></ul>OSGi Overview
  30. 30. <ul><li>… dynamic </li><ul><li>Bundles can be installed, started, stopped, uninstalled and updated at runtime </li></ul></ul>OSGi is … OSGi Overview
  31. 31. OSGi is … <ul><li>… service oriented </li><ul><li>Bundles can publish services (dynamically)
  32. 32. Bundles can find and bind to services through a service registry
  33. 33. The runtime allows services to appear and disappear at runtime </li></ul></ul>OSGi Overview
  34. 34. What does OSGi look like? (Low Level) OSGi Overview
  35. 35. 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: <ul><ul><li>JAR to OSGi bundle automated conversion using BND tool; Service querying, Runtime visualisation </li></ul></ul>- 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
  36. 36. Current Status <ul><ul><li>Maven External Dependencies management infrastructure
  37. 37. OSGi based standard JEE services </li><ul><li>Datasources
  38. 38. Transaction Management
  39. 39. JMS
  40. 40. Logging
  41. 41. Security </li></ul></ul></ul><ul><ul><li>Spring DM Integration Testing Framework
  42. 42. Currency bundle migrated including Unit and Integration Tests
  43. 43. Goal to release to full set of OSGified bundles by end of year
  44. 44. IP Issues </li></ul></ul><ul><ul><li>Move under umbrella of Eclipse Financial Project </li></ul></ul>
  45. 45. Future plan – Technical level <ul><ul><li>FPML (fpml.org) Data Structure
  46. 46. Replace iBatis with EclipseLink for modular persistency support
  47. 47. Asynchronous inter modules communication using Enterprise Integration Pattern solutions like Apache Camel </li></ul></ul>
  48. 48. <ul><li>Asset/Liability Management (ALM) </li></ul>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 <ul><li>T rader books, Limits management, Reports Set
  49. 49. Treasury products (TRS, currency options, IRS, ...)
  50. 50. Enhancement of Derivative products coverage : </li></ul>Swaps structures, CFDs, structured products Future plan – Business level
  51. 51. More information <ul><ul><li>Website: http://www.eclipse.org/ofmp
  52. 52. Project wiki: http://wiki.eclipse.org/OFMP
  53. 53. Eclipse OFMP Newsgroup </li></ul></ul>Demos <ul><ul><li>Foreign Exchange functionnalities
  54. 54. Portfolio Management functionnalities </li></ul></ul>Contacts: [email_address] Credits: Martin Lippert, akquinet agile GmbH [email_address]

×