CONTENT
Terug naar community
Magazine
Proceedings
Blogs
Master thesis
Zoeken
THEMES
The CIO speaks
The architect answers
The business decides
Effect of architecture
SOA
BPM
Methods
Principles
Financial services
Public sector
Health sector
Most popular items
 
 
Via Nova Architectura forum
Welcome, Guest
Please Login or Register.    Lost Password?
Dynamic Binding: request for best-practices (0 viewing) 
Go to bottom Post Reply Favoured: 0
TOPIC: Dynamic Binding: request for best-practices
#6
Dynamic Binding: request for best-practices 5 Years, 1 Month ago  
Dynamic binding is a topic that seems key in Service Oriented Architectures, since it provides a form of decoupling between service requesters and service providers. The idea is that the service requester is dynamically bound to the service endpoint.

Dynamic binding can take many forms:

1. The data upon which the binding takes place can vary.
a. In the most simple form the logical name of the service is translated to the physical address of the service endpoint.
b. A more elaborate form is content-_base_d routing: _base_d upon the contents of the service invocation message the service endpoint is determined.
c. Another form is policy-_base_d routing, where the Quality of Service required by the service requester is the criterion _base_d upon which a service endpoint is selected.

2. The component that performs the binding can vary: either the service requester or an intermediary.
a. In case the service requester performs the dynamic binding, it actively queries a service registry, selects the appropriate endpoint and invokes the service.
b. If an intermediary such as a message broker performs the dynamic binding, the service requester only needs to send the message to the intermediary.

3. The technology used for the service registry can vary.
a. You can build your own lookup table with mappings from logical names to physical addresses.
b. You can using the naming service provided by the implementation technology such as JNDI in a Java environment.
c. You can use a UDDI.
d. You can use some other registry product.

It would be a good idea to start sharing experiences with respect to dynamic binding. Do you use dynamic binding? Which of the forms of dynamic binding do you use? What are best practices? What have we learned so far?

My experience is that organisations are not very often have very simple dynamic binding mechanisms in place, or do not use dynamic binding at all. An example of the latter is where WSDL files are put on a central web server and binding takes place during development. My current client performs dynamic binding in a message broker, that uses a custom lookup table to map technical service names to service endpoints which are all provided through WebSphere MQ. Also, the content-_base_d routing facilities of the message broker are used.

Regards,
Danny Greefhorst
 
Logged Logged  
 
Last Edit: 2008/02/25 21:22 By mkbdigitaal.
  The administrator has disabled public write access.
#8
Re:Dynamic Binding: request for best-practices 5 Years, 1 Month ago  
Danny,

After reading this I would like to add two points.

First I would like to add another form to the three forms of dynamic binding you mention. Binding also occurs at the protocol level. On the web often we use the implicit HTTP protocol to communicate in a REST (1) like fashion. When we build applications we bind more explicit to protocols like MQ, JMS or SOAP.

Second, I would like to add something on the Message Broker. In the last years we more and more are adding routing in message broker like architectures. We say that applications shouldn't need to know the details of the systems they are connecting to. I agree that this provides flexibility but it worries me that al routing information is centralised at one point:

  • a. After the centralisation of routing it is easy (as you describe in form 1) to add content _base_d routing. But the difference between content _base_d routing and business logic is small and easy to oversee or mistaken.
    My worry is that these centralised message brokers become the monolithic main_frame_ solutions we've just abandoned.

  • b. If all logic is bound to one message broker is that dynamic binding or single binding?
    My worry is that all logic is bound to one message broker and that replacing that message broker will be very hard because business logic is not written to consider the message broker as a variable, because there is only one message broker.


Formulated as a design pattern I would advocate for a more synaptic /brain like working vision on the message broker. Instead of one all-knowing message broker I rather use a set of Domain Oriented Message Brokers. Each message broker contains (content) routing for a specific business domain. I think of typically 4-6 message brokers in an enterprise. Message brokers communicate with each other on cross domain issues. This at least prevents a monolithic solution and shows application builders that a message broker is a variable and not a constant.

Cheers,
Ronald Streekstra

@1: Representational State Transfer
 
Logged Logged  
  The administrator has disabled public write access.
#14
Re:Dynamic Binding: request for best-practices 4 Years, 11 Months ago  
Ronald,

I fully agree with you that centralised message brokering is not the answer to dynamic binding. My current client has around 2000 message broker flows defined, and this is becoming a real maintenance issue. I would even go further than stating that there is not one central message broker: I do not think any message broker should be a mandatory intermediary in communications. Message brokering is only usefull when transformations to legacy applications or platforms is necessary. All other communication could just use point-point communication, where the requester simply uses the interface of the service provider. The only mandatory requirement would be that all service information is published centrally, for management and reuse purposes. Although I would like to add dynamic binding _base_d on a central naming service as an additional requirement, I am not yet convinced that this requirement solves day-to-day issues. Any insights into this are appreciated.

With respect to your addition on dynamic binding; protocol binding is yet another dimension, that is sometimes combined with binding to an address _base_d on a logical name (also called naming). For example you could find an HTTP _base_d endpoint in your UDDI for a service, but also an endpoint that is _base_d on JMS. For other technologies (e.g. CosNaming) the protocol is always identical.

Regards,
Danny Greefhorst
 
Logged Logged  
  The administrator has disabled public write access.
#133
Re:Dynamic 3 Months ago  
spiele casino casino casino viagra
 
Logged Logged  
  The administrator has disabled public write access.
#136
Re:Dynamic 3 Months ago  
For many months, the speculation has been that the iPad 3 will arrive by the end of March or the start of April. but if recent rumors are to be believed, the iPad 3 may be launched a month ahead of its rumored schedule. It is also rumored that Apple is preparing for a mega event in February during which the iPad 3 and iOS 5.1 will be introduced to the world at large.

The source of the rumor is Japanese blog Macotakara which also had leaked the release date of the iPad 2 with accuracy. Apart from sporting a new display, the iPad will support LTE networks, will be powered by the A6 processor and will have a deeper integration with Facebook. Though Apple stayed away from the Consumer Electronics Show in Las Vegas this year, the entire event was abuzz with news of the iPad 3 and the impact it will have on the PC industry. Several reports indicate that the iPad 3 will cannibalize the PC industry even more than the iPad 2 did – only time will tell.




easy games | play game
 
Logged Logged  
  The administrator has disabled public write access.
#196
Re:Dynamic 2 Months, 3 Weeks ago  
casino online online casino games pokies casino cheap viagra
 
Logged Logged  
  The administrator has disabled public write access.
Go to top Post Reply
Get the latest posts directly to your desktop -> get the latest posts directly to your desktop