http://www.quickfixj.org/
The Financial Information eXchange (FIX) protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd (FPL).
QuickFIX/J is a full featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular C++ QuickFIX engine.
Features:
Free! It costs nothing and has a very liberal open source licence. Full source code available (also at no cost). Supports FIX versions 4.0 – 4.4, 5.0/FIXT1.1. Runs on any hardware and operating system supported by 1.4+ Java SE or compatible VM. Compatibility with QuickFIX C++ Java Native Wrapper API (easy to upgrade)Java NIO asynchronous network communications for scalability (using Apache MINA)Supports embedded SSL with Java 5+Provides standard JMX MBeans for FIX engine management Easy to embed in existing Java applications.
Choice of message processing threading strategiesCommunication transports for TCP sockets and VM pipes. Metadata-driven parsing and validation. Metadata-driven code generation of type-safe FIX message-related classes. Metadata API for use at application level (for example, FIX messaging UI). Support for protocol customizations (new messages, fields, constraints). Session state storage plugins: JDBC, File, SleepyCat/JE, In memoryLogging plugins: JDBC, File, SFL4J (supports JDK1.4 logging, Log4J, Commons Logging), Console, Composite
Failover and High Availability. Scheduling of session connections. Many automated unit and acceptance tests. Example applications: Simple Swing order entry UI and a console-based order execution simulator. Commercial support available from multiple sources.
About QuickFIX/J…
The Financial Information eXchange (FIX) protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd (FPL). The FPL mission is to improve the global trading process by defining, managing, and promoting an open protocol for real-time, electronic communication between industry participants, while complementing industry standards.
QuickFIX/J is a full featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular C++ QuickFIX engine. For more information see the QuickFIX/J web site.
Features:
Free! It costs nothing and has a very liberal open source licence. Full source code available (also at no cost). Supports FIX versions 4.0 – 4.4. Runs on any hardware and operating system supported by 1.4+ Java SE or compatible VM. Compatibility with QuickFIX C++ Java Native Wrapper API (easy to upgrade) Java NIO asynchronous network communications for scalability (using Apache MINA) Easy to embed in existing Java applications.
Choice of message processing threading strategies Communication transports for TCP sockets and VM pipes. Metadata-driven parsing and validation. Metadata-driven code generation of type-safe FIX message-related classes. Metadata API for use at application level (for example, FIX messaging UI). Support for protocol customizations (new messages, fields, constraints). Session state storage plugins: JDBC, File, SleepyCat/JE, In memory Logging plugins: JDBC, File, SFL4J (supports JDK1.4 logging, Log4J, Commons Logging), Console Failover and High Availability. Scheduling of session connections. Many automated unit and acceptance tests. Integrated SSL communications Example applications: Simple Swing order entry UI and a console-based order execution simulator. Commercial support available from multiple sources.
Building and Testing QuickFIX/J
Dependencies Building QuickFIX/J Generating the database for JDBC based store and log Testing QuickFIX/J
Using QuickFIX/J
Creating Your Application Configuration Acceptor Failover Support Dynamic Acceptor Session Definition Receiving Messages Sending Messages Repeating Groups User Defined Fields Validation Secure communications using SSL Managing QFJ Applications With JMX Configuring character sets. Customizing Message Code Generation. Example Applications Determining your QFJ version.