|
Sponsored Links
Resources
Enterprise Java Research Library
Get Java white papers, product information, case studies and webcasts
|
News
News
News
|
Messages: 7
Messages: 7
Messages: 7
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
ObjectLabKit 1.0.1: Date Calculators for Business and Finance
ObjectLab has announced the release of version 1.0.1 of ObjectLab Kit for Java 1.5, available for download via SourceForge or the Maven Central Repository.
The Kit provides Date Calculators and comes in two versions: one based on pure JDK (1.5) and one based on the Joda-time library (1.3+, JDK 1.5). The library is live in a UK & international Bank in the Credit Derivatives department.
The DateCalculator implementation is intended for any business, while the other two interfaces are more specific to the financial industry. The most common function of a lot of banking or business applications is the handling of holidays and weekends; a set of standard rules are implemented to deal with days falling on a holiday. The library concentrates of the date manipulation and calculations.
ObjectLab Kit provides the implementation of three interfaces:- DateCalculator for all date calculation and handling of weekends or holidays
- PeriodCountCalculator for calculating differences between two dates in days, months or years according to some financial algorithms
- IMMDateCalculator to calculate the International Money Market dates
ObjectLab has used and participated in several open source projects. ObjectLab is also sponsoring QALab, a tool that keeps track over time of the static analysis results from FindBugs, Checkstyle, PMD, Cobertura, etc.
ObjectLab is released under the Apache License.
What do you think of this latest release of the ObjectLab Kit? Would you think of this as a step toward moving open source up the stack toward business functionalities in the financial industry?
|
|
Message #220081
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
not UK specific, provide some business functionality JDK or Joda
Hi KC,
Thanks for your comments. The ObjectLab Kit provides 2 implementations of a set of functionalities that are used very commonly by businesses and financial institutions. These algorithms are generic and international.
One implementation is pure JDK and has no equivalent under similar licenses, we believe. The other implementation makes uses of the excellent Joda-time library.
The interface stays the same between the 2 implementations, if you learn one way, you'll know the other way.
The Joda library provides a lot of functionality but not the ability to roll-over calculated dates that fall on a holiday, like we do in the financial world: forward, backward, modified following and modified preceeding. See this page for some info on those algorithms: http://objectlabkit.sourceforge.net/algo.html
Furthermore, the idea is to be able to combine holiday calendars, say if you trade 2 currencies you may have to take into account the holidays in the settlement market of both. Creating all combinations of such calendars is not feasible (or advisable) up-front, the ability to combine them is useful.
We also handle Tenor codes, like Overnight, Spot, 1D, 2M, 5Y, etc which has some business logic (basic but how many times re-written and re-tested). Refer to this page for more info: http://objectlabkit.sourceforge.net/tenor.html
We also offer a simple IMM date calculators and a useful way to access those dates (like get next IMM date, get the list of IMM dates between d1 and d2, etc)
Finally calculating the period difference between 2 days in terms of say days is obvious but in terms of months or years can lead to some interesting and more complex results according to the convention used for a particular instrument.
In conclusion, the Date calculators are probably useful to any business that needs to deal with holidays.
IMMDateCalculator and PeriodCountCalculators are more useful for the financial industry.
It is a simple library, but it is neat and tidy and it does what it says on the tin...
Kind regards Benoit
|
|
Message #220082
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: not UK specific, provide some business functionality JDK or
thank you for the excellent explanation.
it would be great to see this type of functionality rolled up into a joda 2.0. (and of course, not 1.5 dependent-- most 'enterprises' are very conservative)
|
|
Message #220084
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
1.5 or not...
Hi
1.5-or-not-1.5... We thought about it quite a lot... but we have seen quite a few banks switching to 1.5; we found that the use of generics would simplify our interface and allow us to create a 'generic' one (pun semi-intended) that you would then specialise for Date, Calendar, joda.LocalDate or joda.YearMonthDay.
What we found quite interesting was the fact that we were able to define the units tests in terms of generics and hence ensure the same level of testing regardless of the actual implementation. Creating the same full suite of unit tests for a new implementation was a matter of 5-10 lines...for thousand of tests.
We went down the route of generics instead of defining our own 'date-functionality' wrapper which was an option; we felt that as soon as we would come up with YAWFD (yet-another-wrapper-for-date) people would turn away. Generics are good for these!
If one desperately need our library (look in my eyes, look in my eyes, you neeeeeed ObjectLab Kit!) but still uses 1.4 or so, I'd suggest to look at http://retrotranslator.sourceforge.net/ as mean to retrofit the byte code to run under 1.4
Finally we initially thought of simply providing an extension/contribution to Joda but the initial feedback from joda was mixed and, the bank was not too sure about using Joda at that time, so that dependency could have been an issue if it was mandatory. Now, we have the best of both worlds, but we do recommend Joda-time as it would probably help you outside the ObjectLab Kit anyway! :-)
I hope this helps.
Benoit.
PS: we also launched another open source project on a very different subject, QALab, see: http://qalab.sourceforge.net
|
|
Message #220242
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: ObjectLabKit 1.0.1: Date Calculators for Business and Financ
Looks nice. I'll definitely take a look.
|
|
Message #220265
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
feedback welcomed
Hi Roy,
Thanks for your comment. Do not hesitate to contact us if you have a feedback. We had an interesting email exchange with Paul H. who suggested that the calculator enforces a "valid range", i.e. throws an exception if the calculated date falls outside a given holiday Set (+ min and max boundaries, e.g. Jan 1 2006 and Dec 31 2006 for 2006, even if the last holidays is Boxing Day).
Do people require this?
regards
Benoit.
|
|
 |
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com |
 |
 |
Roy van Rijn points out a potential flaw in the upcoming Servlets 3.0 specification, and proposes a different approach.
(December 1, Article)
The authors describe the Scalaris system, which provides a comprehensive solution for self managing, scalable data management.
(November 25, Article)
Hazem Saleh follows up his article on GMaps4JSF with an approach to displaying Google maps in a Comet architecture.
(November 11, Article)
Bahar Limaye describes how to intercept JNDI filters so that you can make changes to a system without side effects.
(November 3, Article)
Cameron tells us about important new features such as: Cross-platform support for Java, .Net, and C++ objects; Data grid triggers; and Event transformers.
(October 23, Tech Brief)
Per Otto Bergum Christensen introduces the community to Bdoc, a framework for generating documentation from tests.
(October 20, Article)
Here Hazem Saleh shows an example of how to use it to view the streets of the places you navigate to.
(October 17, Article)
Author Robbie Cheng outlines a programming model that he calls Direct Ajax that addresses some of the deficiencies of the traditional Ajax approach to communications between the client and server.
(October 14, Article)
In this last article of the series, Reza Rahman will talk about standardized global JNDI names for Session Beans and EJB 3.1 Embeddable Containers for Java SE environments.
(October 8, Article)
Randy Kahle and Tom Hicks conclude their four-part series on resource-oriented computing by describing how to utilize a RESTful kernel to design and build software systems.
(October 6, Article)
Paul Rene Jørgensen talks about UseMon, an efficient, open-source, real-time JVM performance monitoring agent.
(October 2, Tech Brief)
In this podcast, John Davies will cover several case studies of extreme transaction processing, low latency and high performance systems and offer insight into what we might expect to see in mainstream in the near future.
(September 29, Podcast)
Learn about Mule, ServiceMix, Synapse, Petal and other OpenESBs in Action from authors Tijs Rademakers and Jos Dirksen - Tech Brief about their new book.
(September 24, Tech Brief)
Josh Long looks at business process management using jBPM and Spring to implement a simple multi-stage operation.
(September 22, Article)
In this podcast, Holly Cummins will introduce a number of tools for identifying and fixing common Java performance problems.
(September 17, Podcast)
In this podcast, TheServerSide.com editor Peter Varhol asks Terracotta CTO Ari Zilka about how the software works and what it can be used for.
(September 15, Podcast)
In this chapter from his book Object-Oriented JavaScript, author Stoyan Stefanov talks about primitive data types in JavaScript as a prelude to discussing more complex concepts.
(September 12, Chapter)
The JavaServer Faces Flex project lets developers unfamiliar with Flex create JavaServer Faces components to link Flex UIs to managed beans in the same manner as JSF.
(September 8, Article)
Joseph Ottinger notes that we have certain preconceived notions as to what an app server is and does, and argues that we should rid ourselves of those notions.
(September 2, Article)
Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB III now returns with two new expert co-authors, updated for EJB 2.1 and 30% new chapters including security, integration, best practices, open source, and more.
(Book PDF Download)
The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)
|
|