Fudge Messaging Home

Fudge is a hierarchical, typesafe, binary, self-describing message encoding system.

  • Hierarchical: Fudge messages aren't just a flat structure, they can be nested, creating larger, more complex data structures.
  • Typesafe: Individual fields in a Fudge message are provided with their type data encoded, so that you can extract data safely.
  • Binary: Fudge encoded data is binary, making it much smaller than text-based representations like XML or JSON.
  • Self-Describing: Fudge messages contain metadata about the fields encoded (like a name or an ordinal), meaning that you can manipulate them without knowing the schema in advance.
  • Message: Fudge was originally designed for encoding data to pass in a Message Oriented Middleware system, and so are more suited to the types of objects likely to be transmitted over a network connection than to a pure streaming mode.

Fudge, however, is not a Message Oriented Middleware platform or standard. While Fudge works well in MOM environments, it really focuses more on what goes in the body of the messages you send. Fudge works great with HTTP, JMS, and AMQP as the underlying network transport.

Project Status

While Fudge is still in early days, it's presently being used in production by several applications.

You can track the precise status in our Releases page.

Why Should I Use Fudge?

Fudge is primarily useful in situations where you have:

  • Data exchanging between nodes in a distributed system; where
  • You want to be able to do meaningful work with data without knowing at compile time the precise message format; and
  • Performance and message size are important.

In a case where you have perfect control over all nodes, and can externally specify (though an API document or something similar) the schema for each type of message channel, you might be better off using something like Google Protocol Buffers or Thrift.

Project Details

Getting Started

The easiest way to get started is to look at the Encoding Specification, or the Types taxonomy, or the Source Code. Then, join the Mailing List.

If you're looking to help us out, take a look at the Ways To Help page.

Navigate space
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jul 13

    jasmineevans says:

    thanks for the info. sure It will make a difference in custom essays.. A lot of ...

    thanks for the info. sure It will make a difference in custom essays.. A lot of people will like it..