IONA came from a CORBA background and developed a very flexible distributed SOA platform based around web services standards but using high performance transports and message bindings as opposed to traditional SOAP over HTTP. C24 came from and integration background (we came from Braid after is was bought by Mercator in '98), we assumed transports were someone else's problem and concentrated on the data integration.John explained what IO is in detail:
The result is two independent products with identical design criteria each solving a half of the problem both assuming someone else would solve the other half, we met last year at a client and here we are today with two halves that work perfectly together.
IO comes in two parts, design-time and run-time; The design-time tool is a modelling tool, metadata management GUI and code generator, it's basically Castor+JAXB on steroids. We can design from scratch or suck in models from databases, XML schema, UML models, text files (fixed or delimited) or binary and represent it as a model. From there we can add constraints to the model such as one date being before another or if one field is present another must contain at least two sub-elements unless the third field contains "bla", the nasty stuff the people like to ignore but causes most of the errors in data.The most advanced use cases of IO are in large banks using IO "as their primary integration technology for their own ESBs." Most if not all ESBs handle XML, most can handle CSVs but few can model CSVs and binary natively and offer the business constraints required for advanced standards like SWIFT, FpML and ISO-20022. The two main use cases for IO are to supply ready-made models of messaging standards with their business rules and constraints (e.g. SWIFT, TWIST, FpML, EDIFACT etc.) and the other is a flexible tool to allow anyone (typically large enterprises) to model any type of message "no matter how complex", John said.
The result of all this, i.e. the run-time, is self-contained Java code (a POJO) that not only represents the original model but can also parse the data natively, apply the constraints in the form of validation and expose the content of an instance though XPath 2. We can for example import a CSV text file, define a few constraints and deploy the code, the whole process takes minutes. The resulting code will parse the CSV file at a rate of thousands or rows a second applying the constraint rules to each row allowing non-complient rows to be placed into an exception process. We can even apply XSLT 2 and XQuery directly in the CSV rows without having to convert each row to XML first, the result is extremely high performance parsing and transformation.
IONA was previously reselling IO but the all-cash acquisition gives both C24's IO technology but also better penetration into the financial services domain via C24's 20+ clients including a blue-chip installed base in the US, UK and Europe covering central banks, exchanges, clearing houses and major investment banking firms as well as independent software vendors. The name of C24 will disapear but IONA will likely use a name such as Artix-IO, John predicted.