Brian, I did some JCAPS2Camel conversions:
The mapping in JCAPS/ICAN can be either XSLT or jcd. XSLT is trivial to migrate to Camel. I will not detail this here. jcd-style mapping works usually as follows (pseudocode): receive() unmarshal source format target.fieldX.set(source.fieldY.get()) …. marshal target format send() so it´s basically what you sketched out below+unmarshalling+getters+setters+marshalling. This can almost literally be translated to Camel. You could put most of your jcd into a bean and do the rest (from+to+all the EIP goodies) with a DSL of your choice. I would *not* stick with the OTDs (even if that should be possible somehow) but rather re-do them new (with BeanIo). I had some issues (multi-byte characters) with Bindy. The file-component is much more elegant to use in Camel, it´s much easier, more concise, more powerful as the file eway. One gotcha: With jdbc/sql you have to limit the field-length in Camel yourself (OTDs do this for you) JMS can be bridged from JCAPS-STCMS to ActiveMQ so you can make a smooth transition fitting your time-frame. Webservices are (just my personal opinion) a bit easier to get along with in JCAPS, the learning curve for CXF is -uhmm- steep. If you know your 2-3 tricks it should be easy&straightforward. FTP-component is great, too. So no problems there. There are a lot more choices (DSL, container, etc.) in Camel. I personally like blueprint+Karaf. When you compare a route deployed to Karaf to an .ear file deployed to Glassfish you see the following things: -) startup/shutdown a *lot* faster -) much less memory (like 150 mega compared to 1 giga for the exact same functionality) -) less CPU usage -) build much faster -) deploy much faster -) config changes much easier There are many other features (clustering/fabric/cloud, up-to-date IDE, JMX-monitoring,webconsole, hawtio,…) worth exploring and the development-cycle is lightning fast. JCAPS/ICAN was 1990, Camel is 2005 cons: a lot to learn, sometimes frustration with the documentation pros: access to source (!), extremely flexible and advanced architecture, fantastic support for testing Bottom line: just do it (if no management interferes). If you can get help, your learning curve can be flattened a bit. Hope this helps, Thomas. Am 24.04.2013 um 09:44 schrieb Fitzcaraldo <brian.fitzger...@marlo.com.au>: > All endpoints are either FTP, JMS, WS or JDBC so it is well within what Camel > can do. JCAPS models messages as Object Type Definitions (OTD) and these > are all XSDs or CSVs and so can be converted easily. > > The JCAPS equivalent of a Camel route is a JCD class. Here's an example that > writes an incoming string to a file and a queue: > > public class Collaboration_1 > { > public com.stc.codegen.logger.Logger logger; > public com.stc.codegen.alerter.Alerter alerter; > public com.stc.codegen.util.CollaborationContext collabContext; > public com.stc.codegen.util.TypeConverter typeConverter; > > public void receive( com.stc.connector.appconn.file.FileTextMessage > input, > com.stc.connector.appconn.file.FileApplication FileClient_1, > com.stc.connectors.jms.JMS JMS_1,employees.EmployeesOTD Employees_1 ) > throws Throwable > { > com.stc.connectors.jms.Message msg = JMS_1.createTextMessage( > input.getText() ); > > employees.EMPLOYEES emp = Employees_1.getEMPLOYEES(); > > JMS_1.send( msg ); > > FileClient_1.setText( input.getText() ); > > FileClient_1.write(); > } > } > > I haven't yet been able to find an example of format conversion but assume > it uses XSLT or Java object mapping (anyone know?). > > I was hoping someone might have been down this path before and would be > prepared to share their experiences. > > Thanks > > > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/JCAPS-to-Camel-tp5731389p5731404.html > Sent from the Camel - Users mailing list archive at Nabble.com.