<xweld/>-JAVA Development Kit (JDK) for Capital Markets¶
The <xweld/> JDK is a feature-rich Java platform for accelerating the development of Capital Markets applications. The toolkit provides significant benefits for large-scale financial software development projects, such as increased project quality as well as reduced delivery risk and timelines. Based on the Spring framework, it contains pre-built configurable software patterns that can be quickly wired together into enterprise-scale J2EE or J2SE financial applications. The <xweld/> framework is the brainchild of its principal architect and developer John Free and it is currently used in production by some of the world's most successful financial institutions and consultancies.
- A JAVA framework that adds many useful fiance-related functions to the Spring platform
- An auditable application configuration mechanism based on JPA and Spring Environments
- A set of annotations and tools that make creating mapping template worksheets from any domain model of POJOS a snap
- A set of useful services for financial applications, such as currency conversion, simple workflow and quote service that will integrate easily with enterprise services
- A pluggable application security framework over JAAS using user- and role-based metadata to dynamically configure application entitlements.
- A distributed cache abstraction with support for runtime-pluggable providers using JPA, Hadoop or Infinispan that makes adding horizontal scalability to your application easy and configurable
- Distributed processing via map/reduce or an executor model supporting multiple vendors with grid-friendly resolution and atomic value support for any data type
- Financial application foundation classes, including currency and currency conversion, quotes, rates, cash flows, curves, schedules and prices, periodic scheduled tasks, holiday calendars, business centers, regions, day count calculators, analytical models, market data, money, ultra-lightweight dates and time stamps
- An extensible reference implementation of the cross-asset trade domain model and griddable valuation framework.
- A unit test framework for testing <xweld/> applications and components based on TestNG
- Jump-starts development of enterprise applications for capital markets using the Spring Ecosystem
- The <xweld/> JDK encapsulates and configures many of the components required to develop Capital Markets applications, independent of an application's domain model.
- The JDK is deployment neutral giving maximum flexibility in supporting the architecture of your application.
- The JDK has a layered architecture, meaning that you can choose to use just about any part of it in isolation, yet its architecture is internally consistent, extensible and flexible.
<xweld/> Guiding Principles and Best Practices¶
While many of the patterns and constructs in the <xweld/> JDK are not domain specific to Capital Markets, developers will find that the default implementations of many of the patterns implement those commonly used in enterprise-scale applications. One of the central (and religiously applied) architectural patterns used by the <xweld/> JDK is the ability to swap out an implementation of a service or function by using a wrapper or facade and making the implementation configurable at run-time. This pattern allows all <xweld/> applications to dynamically configure the choice of workflow engines, the grid-cache implementation, currency conversion mechanism, messaging middle ware, curve and schedule generation, valuation models, dependency injection implementation, security provider or the persistence mechanism. This approach provides maximum flexibility for application developers (build your code on the default configuration and swap in any implementation for your client environment) and greatly reduces vendor lock in for re-usable applications. Capabilities such as the above are considered <xweld/> Guiding Principles and these principles focus the resultant best practices for <xweld/> development. Additional Guiding Principles are listed below:
- Rapid change is fundamental to the capital markets business
- Design for extensibility
- Enable change through encapsulation, composition and extension
- Maximize reuse and robustness
- Loosely coupled designs allow us to build systems that are more flexible because they minimize the interdependency between objects.
- Layer your implementation from general to specific. A low-level component should never call a higher-level component directly.
- Progress can be evolutionary not revolutionary
- Develop incrementally, use an existing implementation and swap it out later without changing your code.
- Program to an interface, not an implementation
- Separate code that varies from code that stays the same
- Classes should be easily extended to incorporate new behavior without modifying existing code.
- Timeliness of information provides a competitive advantage
- Implement event driven architectures
- Provide real time views into data and processes
- Measure quality and throughput of data regularly
- Avoid locking in to vendors & platforms where possible
- Minimize structural dependencies in skills, technology, and cost (benefit from wider availability of resources for maintenance and future change initiatives
- Depend upon abstractions, use dependency inversions such as injection or factories
- Wherever possible leverage an industry standard
The online documentation for each module is listed below:
- <xweld/> core
- <xweld/> expression
- <xweld/> messaging
- <xweld/> security
- <xweld/> runtime
- <xweld/> services
- <xweld/> workflow
- <xweld/> XML warehouse
- <xweld/> finance
- <xweld/> valuation
For more information, please contact us at firstname.lastname@example.org
Copyright © 1999-2015 Free North Alliance Inc. All Rights Reserved.
The contents of this web site, all images, text, graphics and software are the sole property of Free North Alliance Inc. and its agents. Unauthorized use or transmission is strictly forbidden by international copyright law.