Announcement Announcement Module
Collapse
No announcement yet.
Reference Manual feedback please! Page Title Module
Move Remove Collapse
This is a sticky topic.
X
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Message endpoints clarification

    Copying the post from http://forum.springsource.org/showth...ng-Integration

    In the reference manual, there are multiple sections with the heading message endpoints:

    1. Section 2.4: http://static.springsource.org/sprin...view-endpoints
    2. Chapter 7, Section 7.1: http://static.springsource.org/sprin...ngle/#endpoint

    According to EIP http://www.eaipatterns.com/MessageEndpoint.html ,
    It is the messaging endpoint code that takes that command or data, makes it into a message, and sends it on a particular messaging channel. It is the endpoint that receives a message, extracts the contents, and gives them to the application in a meaningful way.
    Section 2.4 in the reference manual says :
    A Message Endpoint represents the "filter" of a pipes-and-filters architecture. As mentioned above, the endpoint's primary role is to connect application code to the messaging framework and to do so in a non-invasive manner. In other words, the application code should ideally have no awareness of the Message objects or the Message Channels
    and it includes transformers, routers, etc.. which take in message from a input channel and send it to output channel. Do all these also fall under messaging endpoints? The first line " endpoint represents the filter of a pipes-and-filters " covers all possible components, while the second line onward ( and eip descrription of the pattern) restricts that it is that filter that connects and abstracts application code with the messaging framework.

    Chapter 7 has described service activator, gateways, and i interpreted from the eip book that they fill in the shoes as message endpoints as convert a domain object to a message and put it in a channel ( and vice versa).

    I feel the current structure mentioning it in 2 different places is a bit confusing also, and hence request a possible editing in the structure.

    Comment


    • #62
      It's a good manual for a starter. Looking for more examples on working with web-services.

      Comment


      • #63
        I miss an apendix regarding the namespace, as it appears in the Spring Security Reference Documentation: The Security Namespace

        I'd rather use the namespace, but you have a better understanding if you know the beans that are actually used. Furthermore, you can provide better values to the attributes if you can see what are they for.

        Comment


        • #64
          I'd like to have a chapter regarding "how to begin"

          I mean, EAI is some kind of new programming model, channels and messages, it's well explained int the chapter 2, but you're used to programming main applications, web applications and even enterprise applications.

          I miss a lot an explanation of how to call the "message flow" for the very first time.

          It's not until the chapter 7 that you can read how to interact with Spring Integration from your application's business logic: with a Gateway (the good news are that you do it so completely unaware of the Spring Integration API)

          Please, take into account that if I create a first SI application, my mind is not ready to think in terms of channels and messages, but in terms of main classes, test classes or init servlets.

          The "Hello World" sample shows a delay demo with an inbound channel, a file outbound channel and a task executor, but it wouldn't my approach in first application (due to my lack of experience with this new paradigm)

          Comment


          • #65
            Hi,

            Originally posted by jbbarquero View Post
            I'd like to have a chapter regarding "how to begin"

            I mean, EAI is some kind of new programming model, channels and messages, it's well explained int the chapter 2, but you're used to programming main applications, web applications and even enterprise applications.

            The "Hello World" sample shows a delay demo with an inbound channel, a file outbound channel and a task executor, but it wouldn't my approach in first application (due to my lack of experience with this new paradigm)
            In case you're completely new to enterprise application integration you should really give http://www.eaipatterns.com/ a read prior to starting with Spring Integration. The framework is mainly based on the patterns explained in the book of the same title by Gregor Hohpe and Bobby Wolf. With this knowledge at hand the reference manual is quite good.
            Unfortunately there are too many use cases to provide a "hello world"-example for each one, I'd say.

            Regards
            Alex

            Comment


            • #66
              Yeah, http://www.eaipatterns.com/ and the book is over 10 years long so it can hardly be called 'new', however I do agree that the programming model is not as widely adapted as the others and because of that in the very near future we'll begin releasing a series of sreencasts guiding you through this process. We'll post a separate announcement for that.
              Last edited by oleg.zhurakousky; Mar 18th, 2012, 09:20 AM.

              Comment


              • #67
                Thank you very much for the response to both of you.

                Have you considered my request regarding the namespace apendix?

                Originally posted by jbbarquero View Post
                I miss an apendix regarding the namespace, as it appears in the Spring Security Reference Documentation: The Security Namespace

                Comment


                • #68
                  I found it hard to understand the message endpoint parts of the manual especially when trying to write at the API level. There are message sources and message handlers and in some cases you have to match them correctly based on the channel type. I'm not sure I got that on the first pass. It took me awhile to see that the inbound-channel-adapter and the output-channel-adapter mapped into MessageSource or MessageHandler.

                  I do think the manual is very good though. The subject material is a harder than most.

                  One suggestion is to have the namespace XML and then right below it have the nearly equivalent API code.

                  Comment


                  • #69
                    Can you explain what you are trying to do?

                    We are planning to work on exposing API more formally (e.g., with samples etc.), however it would be nice to hear your use case as we often found in these situations users who wanted to code with SI API didn't really have to do it in the first place.

                    Comment


                    • #70
                      In B.3: Configuring the Task Scheduler
                      (http://static.springsource.org/sprin...-taskscheduler), it would be nice to provide some of the reasons for providing our own "taskScheduler".

                      Pleaser refer to http://forum.springsource.org/showth...nnel-adapte-gt for the problem I was facing in the past few days.

                      Comment


                      • #71
                        Please add definitions and diagrams for the terms upstream and downstream. I'm not confident that I understand what you mean when those terms appear in the reference manual.

                        Comment


                        • #72
                          In the spring integration reference document it shows the sprint-int mail outbound channel adapter as:
                          Code:
                          <int-mail:header-enricher subject="Example Mail"
                                               to="[email protected]"
                                               cc="[email protected]"
                                               bcc="[email protected]"
                                               from="[email protected]"
                                               reply-to="[email protected]"
                                               overwrite="false"/>
                          In the current version, they are sub-nodes, rather than attributes:

                          Code:
                          <int-mail:header-enricher>
                                <int-mail:to value="[email protected]" />
                                <int-mail:from value="[email protected]" />
                                <int-mail:subject value="TEST Mail Message/>
                              </int-mail:header-enricher>

                          Comment


                          • #73
                            Thanks for pointing this out; I opened a JIRA issue - https://jira.springsource.org/browse/INT-2901

                            Comment


                            • #74
                              Thanks for the document, as usual, it's very helpful.

                              Is it possible if you guys can include how to write unit tests for the flows? I saw there's a library but not sure how to use it yet.

                              Comment


                              • #75
                                Thanks for the feedback.

                                FYI, there are a couple of samples that explore various testing techniques...

                                https://github.com/SpringSource/spri...sting-examples

                                https://github.com/SpringSource/spri...sting-examples


                                If you still feel there is a need for further documentation, please feel free to open a JIRA issue against the 'Documentation' component.

                                Thanks.

                                Comment

                                Working...
                                X