luigidemasi opened a new issue, #15:
URL: https://github.com/apache/camel-kit/issues/15

   > Imported from 
[luigidemasi/camel-kit#19](https://github.com/luigidemasi/camel-kit/issues/19), 
opened by [vaprea](https://github.com/vaprea) on 2026-04-30.
   
   ---
   
     ## Summary                                                                 
                                                                                
                                                                      
      
     Add support for migrating TIBCO BusinessWorks 6 (BW6) projects to Apache 
Camel 4.x, following the same pattern established for MuleSoft and JBoss Fuse 
migrations.                                                               
                                                            
     ## Motivation                                                              
                                                                                
                                                                      
                                                            
     TIBCO BW6 is a widely deployed enterprise integration platform. Many 
organisations are looking to migrate away from it toward open-source 
alternatives such as Apache Camel on Quarkus or Spring Boot. Camel-Kit already 
covers  MuleSoft (Mule 3/4) and JBoss Fuse migrations end-to-end; BW6 is the 
next logical target.
                                                                                
                                                                                
                                                                      
     The WSO2 
[integration-bi-migration-assistant](https://github.com/wso2/integration-bi-migration-assistant)
 already provides a solid reference implementation for parsing BW6 artefacts 
(see the                                   
     
[`tibco/`](https://github.com/wso2/integration-bi-migration-assistant/tree/main/tibco)
 module).                                                                
                                                            
     ## Proposed Scope                                                          
                                                                                
                                                                      
      
     ### 1. `camel-kit-graph` — Project graph parsing                           
                                                                                
                                                                      
     
[`tibco/`](https://github.com/wso2/integration-bi-migration-assistant/tree/main/tibco)
 module). 
   
     ## Proposed Scope
   
     ### 1. `camel-kit-graph` — Project graph parsing
   
     Introduce a `TibcoBW6Parser` implementing `GraphParser` to walk a BW6 
project directory and populate the `ProjectGraph`. Key artefacts to recognise:
   
     | BW6 artefact | File pattern | Proposed `NodeType` |
     |---|---|---|
     | Process definition | `*.bwp`, `*.process` | `BW6_PROCESS` |
     | Shared resource | `*.sharedhttp`, `*.sharedjdbc`, `*.sharedjmscon`, 
`*.sharedvariable` | `BW6_SHARED_RESOURCE` |
     | Service descriptor | `*.wsdl` / `*.xsd` / `*.xslt` | `BW6_SERVICE` |
     | Application module | `META-INF/MANIFEST.MF`, `pom.xml` | `BW6_MODULE` |
     | Palette activity | inline in `.bwp` / `.process` | `BW6_ACTIVITY` |
   
     New `NodeType` values to add: `BW6_PROCESS`, `BW6_SHARED_RESOURCE`, 
`BW6_SERVICE`, `BW6_MODULE`, `BW6_ACTIVITY`.                                    
                                                                             
      
     The parser should extract:                                                 
                                                                                
                                                                      
     - Process name, start activity (trigger), and end activity (return/error)
     - Transition graph between activities (→ `GraphEdge` with 
`EdgeType.CALLS`)                                                               
                                                                                
       
     - Shared resource references (JDBC, JMS, HTTP, SOAP)                       
                                                                                
                                                                      
     - Subprocess calls (`CallProcessActivity` / `bw.internal.end`)             
                                                                                
                                                                      
                                                                                
                                                                                
                                                                      
     The WSO2 `XmlToTibcoModelParser` and `ProcessConverter` are useful 
references for the XML structure of both BW5 (`.process`) and BW6 (`.bwp`) 
files.                                                                          
   
                                                                                
                                                                                
                                                                      
     ### 2. `camel-kit-core` — Migration specialist agent                       
                                                                                
                                                                      
                                                            
     Extend the `migration-specialist` agent prompt to cover BW6:               
                                                                                
                                                                      
                                                            
     - Detect BW6 from `pom.xml` (group `com.tibco.bw`) or `.bwp` / `.process` 
file presence                                                                   
                                                                       
     - Map BW6 palette activities to Camel 4.x components:
                                                                                
                                                                                
                                                                      
     | BW6 activity | Camel equivalent |                    
     |---|---|                                                                  
                                                                                
                                                                      
     | `bw.http.sendHTTPRequest` / `HTTPEventSource` | `camel-http`, 
`camel-platform-http` |
     | `JMSQueueEventSource` / `JMSQueueSendActivity` | `camel-jms` |           
                                                                                
                                                                      
     | `JDBCGeneralActivity` | `camel-jdbc`, `camel-sql` |                      
                                                                                
                                                                      
     | `SOAPSendReceiveActivity` / `SOAPSendReplyActivity` | `camel-cxf` |      
                                                                                
                                                                      
     | `FileReadActivity` / `FileWriteActivity` | `camel-file` |                
                                                                                
                                                                      
     | `bw.generalactivities.mapper` / `XMLRendererActivity` | inline 
`transform` DSL |                                                               
                                                                                
     | `CallProcessActivity` | `direct:` or `seda:` |                           
                                                                                
                                                                      
     | `CatchActivity` | `onException`, `doTry/doCatch` |                       
                                                                                
                                                                      
     | `bw.restjson.JsonParser` / `JsonRender` | `camel-jackson` |              
                                                                                
                                                                      
                                                                                
                                                                                
                                                                      
     - Flag BW6-specific concepts with no direct Camel equivalent — shared 
variables (`.sharedvariable`, `.jobsharedvariable`), checkpoints, job sharing — 
and provide recommended migration patterns.                                
                                                                                
                                                                                
                                                                      
     ### 3. `/camel-migrate` command                                            
                                                                                
                                                                      
                                                            
     Update `/camel-migrate` to recognise BW6 project structure. Detection 
heuristics:                                                                     
                                                                           
     - `META-INF/MANIFEST.MF` containing `TIBCO-BW-Process-Packages`
     - Presence of `*.bwp` or `*.process` files                                 
                                                                                
                                                                      
     - `pom.xml` with packaging `bwear` or `bwmodule` (group `com.tibco.bw`)
                                                                                
                                                                                
                                                                      
     When detected, automatically set `--source-platform bw6`.                  
                                                                                
                                                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                      
     ## References                                                              
                                                                                
                                                                      
                                                                                
                                                                                
                                                                      
     - Existing MuleSoft parser: 
`camel-kit-graph/.../parser/MuleXmlFlowParser.java`                             
                                                                                
                                     
     - Migration agent: 
`camel-kit-core/.../resources/agents/migration-specialist.md`
     - Node type model: `camel-kit-graph/.../model/NodeType.java`               
                                                                                
                                                                      
     - **WSO2 BW6 parser reference**: [`wso2/integration-bi-migration-assistant 
— 
tibco/`](https://github.com/wso2/integration-bi-migration-assistant/tree/main/tibco)
 — covers BW5 (`.process`) and BW6 (`.bwp`) XML parsing, shared 
     resource formats, and activity-level conversion; includes 10+ sample 
projects                                                                        
                                                                            
     - TIBCO BW6 Developer Guide (palette reference): 
https://docs.tibco.com/pub/activematrix_businessworks/6.6.0/doc/pdf/TIB_BW_6.6_application_development.pdf
  


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to