12 Replies Latest reply on Mar 21, 2008 10:04 AM by timfox

    2.0 source code preview

    kawasaki

      Hi,

      Is source code of version 2.0 available for public preview, and if so where one can find it. I have explored http://anonsvn.jboss.org/repos/messaging from Eclipse's SVN repo explorer, but cant find it nowhere.

      Thanks in advance

        • 1. Re: 2.0 source code preview
          timfox
          • 2. Re: 2.0 source code preview
            kawasaki

            Thanks for the link. While I am at it, is it under corporate policies and strategic plans to allow integration of third party open source frameworks, such as integration of Camel, in order to provide more advanced routing capabilities?

            http://activemq.apache.org/camel/index.html

            Thanks

            • 3. Re: 2.0 source code preview
              timfox

              Hello Kawasaki-

              Can you give me a bit more information on what you are intending?

              • 4. Re: 2.0 source code preview
                kawasaki

                If allowed by corporate policies, I would like to integrate Camel with JBM 2.0, standalone - enabled version. If not possible I would consider making/forking JBoss equivalent of Camel.

                Any thoughts about this?

                • 5. Re: 2.0 source code preview
                  kawasaki

                  Also, perhaps this might be wrong place to ask, are there any initiatives in JBoss for CEP/ESP engine? Any thoughts about this as well?

                  CEP = Complex Event Processing
                  ESP = Event Stream Processing

                  • 6. Re: 2.0 source code preview
                    kawasaki

                    Camel is basically framework that defines higher level Domain Specific Language that can be used to define various Enterprise Integration Patterns inside JMS broker.

                    http://www.enterpriseintegrationpatterns.com/

                    • 7. Re: 2.0 source code preview
                      timfox

                      Well - this is an open source project - so corporate policies are not really relevant as long as you follow the licence terms you can do what you want.

                      W.r.t. integrating - sounds interesting. It's my understanding that camel integrates via the JMS API so there's not really much integrating to do.. or am I missing something?

                      • 8. Re: 2.0 source code preview
                        kawasaki

                        I have not looked at Camel source code so cant say at which level of abstraction is the actual integration, ideally of course it would be at JMS API level.

                        Regarding the CEP/ESP concepts, in case you have not had a chance to look at this technology so Ill try to illustrate:

                        Lets say we have two streams of real-time messages called A (first stream) and B (second stream). This maps to JMS concepts such as queue or topic aka destination.

                        No lets say we have 2 business requirements:

                        1) If message M1 comes in stream A, and message M2 does appear on stream B after maximum 5 seconds, do some action.

                        2) Provide sliding window facilities that covers messages in last 5 seconds for stream A and B that satisfy condition that field F1 from message in stream A is equal to F2 of messages in stream B.

                        In technical terms administrator would define these declarative (no compile/restart required) requirements as follows:

                        1) EVERY m1 FROM a FOLLOWED BY m2 FROM b TIME_WINDOW(5)

                        2)SELECT a.*, b.* FROM a, a WHERE a.f1=b.f2 and TIME_WINDOW(5)

                        Basically reversed relational database, SQL like API for managing and correlating messages.

                        Does JBoss middleware has need for such thing? Any opinions appreciated.

                        Thanks

                        • 9. Re: 2.0 source code preview
                          jeffdelong

                          CSP / ESB functionality is being planned for JBoss Drools 5.0. The JBoss ESB project provides the capabilities to define routing rules for ESB messages (where JBoss Messaging is the underlying transport).

                          • 10. Re: 2.0 source code preview
                            kawasaki

                            Regarding CSP: Is there any official plan/roadmap available regarding this, especially the strategy how it will be implemented, where its exact place will be and so on? Should I perhaps ask this on Drools forums?

                            Regarding routing rules: I am referring to cases when broker is used outside ESB, standalone, for example when admin needs to schedule job which will purge messages under some conditions, or anything that might be needed in standalone JMS broker usage, and this maps nicely with JBM 2 which supports work in non-managed environment.

                            • 11. Re: 2.0 source code preview
                              kawasaki

                              These are all directions in which I would like to contribute to JBoss, so any guidelines and comments you have will be more than appreciated.

                              • 12. Re: 2.0 source code preview
                                timfox

                                This is a confusing thread ;)

                                It seems at least three different things are being discussed:

                                1) Where is the JBM 2.0 source code (answered)

                                2) How to "integrate" Camel into JBM. I'm not sure what "integration" really means in that context. AFAIK camel works with any JMS compliant provider without special integration - although it would be great to demonstrate JBM working with Camel. Alternatively Camel could integrate at the JBM core level which would allow more powerful features to be exposed.

                                3) Event stream processing (ESP). I agree with Jeff - any complex rules based conditional logic is really the area for Drools, and see this working at the drools level with JBM as a transport.