Difference between Route, Service Callout, Publish

When you are first starting with OSB it can be a little tricky to determine when to use a Route, Service Callout or a Publish node.  All three can be used to call either a Business service or a local Proxy service.  You can use the following lists to determine which will best fit your needs.


Route
  1. Last node in request processing.  It can be thought of as a bridge between request pipeline processing and the response pipeline processing.
  2. You can only execute one route in your Proxy Service.
  3. Can only be created in a route node.
  4. OSB will wait for the Route call to finish before continuing to process.
    1. If you are calling a Business service and you specify Best Effort for QoS (Quality of Service), then OSB will release the thread it is holding while the business service executes.
    2. If you are calling a Business service and you specify Exactly Once or At Least Once for QoS, then OSB will hold onto the thread while the business service executes.
    3. If you are calling a local Proxy service, then OSB will hold onto the thread until the Proxy service finishes executing.
Service Callout
  1. Can have multiple Service Callout nodes in a Proxy service.
  2. Pipeline processing will continue after a Service Callout.
  3. Can be invoked from the request and/or response pipelines.
  4. Used to enrich the incoming request or outgoing response. For example, a call to get a country code.
  5. Used for real time request/response calls (Synchronous calls).
  6. OSB will hold a thread and not continue until the Service Callout completes.
  7. Can tie up resources and degrade performance under heavy loads.
Publish

  1. Can be synchronous or asynchronous
    1. If you are calling a business service with a Quality of Service of Best Effort , then it will be an asynchronous call.
    2. If you call a business service with a Quality of Service of Exactly Once or At Least Once, OSB will wait until the processing completes in the business service completes before proceeding and it is effectively a synchronous call.
    3. If you are calling a local proxy service, OSB will wait until the processing in the local proxy service completes and it is effectively a synchronous call.
  2. Can be invoked from the request and/or response pipelines.
  3. Best to use when you do not need to wait for a response from the process you are calling (Fire and Forget.... Asynchronous Calls)

Comments

  1. Thanks for sharing such great information. It really helped me. I always search to read the quality content and finallyfound this in your post. keep it up!
    architect in agra

    ReplyDelete
  2. hey does public action is async by default, if i do callout to BS ?
    i'm working with esb 12c

    ReplyDelete
  3. Great explanation! It’s nice to see the difference between when to use a Route, Service Callout, or Publish node. The examples for each case really help clarify their unique roles
    Slotted Angle Rack gurgaon
    Multi tier rack Manufactrurer

    ReplyDelete
  4. I always get confused between Service Callouts and Routes. The fact that a Route can only be the last node in the request processing pipeline clears that up for me
    Truck Loading Conveyor
    Staff locker in noida

    ReplyDelete
  5. OSB’s ability to release the thread with Best Effort QoS in a Route node is a great feature. It helps manage resource utilization more efficiently
    Warehouse Pallet Racks in Hyderabad
    Centralized Dust Collector Manufacturer

    ReplyDelete
  6. This was very informative! I didn’t realize that the Service Callout can tie up resources, especially under heavy loads. Good to know for performance planning.
    Tea Pouch packing machine
    l sealer manufacturer

    ReplyDelete
  7. One point that stood out was the fact that OSB waits for the Route call to finish before continuing. This is important to know for managing response time expectations
    laser engraving machine in delhi
    Franchise in USA

    ReplyDelete
  8. This blog really cleared up the differences between calling a Business Service with different QoS values. Knowing when OSB holds the thread or releases it is key for optimizing performance
    Chicken Distributorship
    Saw Palmetto Oil CO2 Manufacturer in Korea

    ReplyDelete
  9. The concept of Publish nodes being used for asynchronous calls (Fire and Forget) is something I had missed before. This could really improve the efficiency of non-blocking processes
    domino's franchise cost
    Sparsh Bagga

    ReplyDelete
  10. I like that you emphasized using a Publish node when you don’t need a response. I think this is a great option for logging or notifications where immediate feedback isn't needed
    Indian Relatives
    Nanital

    ReplyDelete
  11. The ability to use multiple Service Callout nodes in a Proxy service is definitely a game-changer for enriching incoming or outgoing requests efficiently
    3Movierulz Kannada
    1SDMoviesPoint

    ReplyDelete
  12. One thing I always found tricky was deciding between using a Service Callout or Publish. This blog does a great job of showing the key differences and scenarios for each
    9xFlix
    MoviesVerse

    ReplyDelete
  13. The fact that Service Callouts are mainly used for synchronous calls makes sense. It’s nice to see the differences outlined clearly based on the type of service call being made
    9xFlix
    tamilplay

    ReplyDelete

Post a Comment

Popular posts from this blog

OSB actions in proxy service

XQuery functions that supported by OSB