| Author | Message | 
		
		  | jacquesvdm | 
			  
				|  Posted: Wed Mar 14, 2012 10:26 pm    Post subject: Message Broker 8 Custom Nodes |   |  | 
		
		  | Apprentice
 
 
 Joined: 18 Jan 2012Posts: 29
 
 
 | 
			  
				| Hi Do anybody know if it would now be possible in WMB8 to code custom nodes in DOTNET C# or C++. Previously only Java and C was supported.
 
 I know you can now invoke DOTNET classes using the new DOTNET node but that is not what I am after.
 
 thanks
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | mgk | 
			  
				|  Posted: Thu Mar 15, 2012 1:36 am    Post subject: |   |  | 
		
		  |  Padawan
 
 
 Joined: 31 Jul 2003Posts: 1647
 
 
 | 
			  
				| 
   
	| Quote: |  
	| I know you can now invoke DOTNET classes using the new DOTNET node but that is not what I am after |  
 In V8 you can create nodes using the .NETCompute node, which can be "midflow" or "end of flow" nodes in any .NET CLR v4 language (C#, VB, F# etc). What exactly is it you are trying to do in a custom node?
 _________________
 MGK
 The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jacquesvdm | 
			  
				|  Posted: Thu Mar 15, 2012 5:03 am    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 18 Jan 2012Posts: 29
 
 
 | 
			  
				| Hi I have to use third party IP's soon which are written in C++ and just need to assess the options available. I wanted to develop plugin nodes for this purpose (e.g PABX communication node) which can be re-used by other developers. Some of the PABX api's are plain JAR files which are fine but the others are C++ APIs.
 
 Currently it looks like I have to create a sub flow which can then use the DOTNET node. I would then have to distribute the sub flow to all projects that want to use the PABX communication service.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | lancelotlinc | 
			  
				|  Posted: Thu Mar 15, 2012 5:07 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 22 Mar 2010Posts: 4941
 Location: Bloomington, IL USA
 
 | 
			  
				| An alternate way to think of the design is to encapsulate the PABX functions into a Web Service, then use SOAPRequest node in your message flows to interact with the Web Service you created. 
 That way, no custom nodes are needed, and your performance is measurable.
 _________________
 http://leanpub.com/IIB_Tips_and_Tricks
 Save $20: Coupon Code: MQSERIES_READER
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jacquesvdm | 
			  
				|  Posted: Thu Mar 15, 2012 5:09 am    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 18 Jan 2012Posts: 29
 
 
 | 
			  
				| That is an excellent sugestion.       
 Thanks for that.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | mqjeff | 
			  
				|  Posted: Thu Mar 15, 2012 5:11 am    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 25 Jun 2008Posts: 17447
 
 
 | 
			  
				| 
   
	| lancelotlinc wrote: |  
	| An alternate way to think of the design is to encapsulate the PABX functions into a Web Service, then use SOAPRequest node in your message flows to interact with the Web Service you created. 
 That way, no custom nodes are needed, and your performance is measurable.
 |  
 And you've also introduced an additional layer and an additional component that needs to be managed, adminstered, and secured.
 
 It is possible to compile and package subflows as user defined nodes.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | lancelotlinc | 
			  
				|  Posted: Thu Mar 15, 2012 5:14 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 22 Mar 2010Posts: 4941
 Location: Bloomington, IL USA
 
 | 
			  
				| There are always trade offs. Segregating the functionality in the way I described supports automated build and deploy through regressions tests, possibly using Junit. 
 If people think in the human-supervised automation vein, you get more bang for your buck rather than having the human do all the work. If the human does all the work, you are dependent on specific humans. If that person goes on vacation, sometimes things get bogged down.
 
 If you use human-supervised automation to manage your IT systems, then the specific human is not relevant. Of course, some of the humans might feel that they are not needed as much.
 _________________
 http://leanpub.com/IIB_Tips_and_Tricks
 Save $20: Coupon Code: MQSERIES_READER
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | Vitor | 
			  
				|  Posted: Thu Mar 15, 2012 5:18 am    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 11 Nov 2005Posts: 26093
 Location: Texas, USA
 
 | 
			  
				| 
   
	| lancelotlinc wrote: |  
	| There are always trade offs. Segregating the functionality in the way I described supports automated build and deploy through regressions tests, possibly using Junit. |  
 And packaging subflows as user defined nodes doesn't?
 
 Seriously, I'm asking. I don't know.
 
 Or packaging them as seperately deployed subflows? Which may be the same thing (another thing I don't know)?
 _________________
 Honesty is the best policy.
 Insanity is the best defence.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jacquesvdm | 
			  
				|  Posted: Thu Mar 15, 2012 5:25 am    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 18 Jan 2012Posts: 29
 
 
 | 
			  
				| Hi MQJeff That is also valid, thanks for all the valuable input.
   
 Regards
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | lancelotlinc | 
			  
				|  Posted: Thu Mar 15, 2012 5:48 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 22 Mar 2010Posts: 4941
 Location: Bloomington, IL USA
 
 | 
			  
				| 
   
	| Vitor wrote: |  
	| 
   
	| lancelotlinc wrote: |  
	| There are always trade offs. Segregating the functionality in the way I described supports automated build and deploy through regressions tests, possibly using Junit. |  
 And packaging subflows as user defined nodes doesn't?
 
 Seriously, I'm asking. I don't know.
 
 Or packaging them as seperately deployed subflows? Which may be the same thing (another thing I don't know)?
 |  
 IMHO PABX functionality is more useful outside of the Broker engine rather than in it.
 
 http://en.wikipedia.org/wiki/Separation_of_concerns
 
 Other people may have different opinions.
 
 
 
   
	| Quote: |  
	| Software build automation
 Most project organization tasks are seen as secondary tasks. For example, build automation is an approach to automating the process of compiling source code into binary code. The primary goals in build automation are reducing the risk of human error and saving time.
 
 Normalized Systems
 In Normalized Systems separation of concerns is one of the four guiding principles. Adhering to this principle is one of the tools that helps reduce the combinatorial effects that, over time, get introduced in software that is being maintained. In Normalized Systems separation of concerns is actively supported by the tools.
 
 |  
 By separating the PABX functions into a callable Web Service, you more support the loose-coupling, Service Oriented Architecture concepts.
 
 http://en.wikipedia.org/wiki/Service-oriented_architecture
 
 
 
   
	| Quote: |  
	| Principles The following guiding principles define the ground rules for development, maintenance, and usage of the SOA:
 
 reuse, granularity, modularity, composability, componentization and interoperability.
 
 standards-compliance (both common and industry-specific).
 
 services identification and categorization, provisioning and delivery, and
 monitoring and tracking.
 
 |  
 I ask the question, what does PABX code have in common with WMB engine code? I answer myself, "Not much." Thus, why infuse PABX code into the WMB engine? I ask myself another question, Why not make full use of loose-coupling rather than the tight-coupling of user defined nodes? I answer myself and say, SOA Loose-Coupling is a wonderful concept that helps manage systems in an automated way.
 _________________
 http://leanpub.com/IIB_Tips_and_Tricks
 Save $20: Coupon Code: MQSERIES_READER
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | mqjeff | 
			  
				|  Posted: Thu Mar 15, 2012 7:00 am    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 25 Jun 2008Posts: 17447
 
 
 | 
			  
				| 
   
	| lancelotlinc wrote: |  
	| SOA Loose-Coupling is a wonderful concept that helps manage systems in an automated way. |  A WSDL defines an extremely *tight* coupling between two well described end-points.
 
 If the Message Flow is already acting as a webservice endpoint that is designed and intended to provide an SOA contract wtih the rest of the enterprise, what value does it add to include an additional separation of concerns?
 
 Why not write a third webservice to abstract the details of PABX from the details of the webservice that is abstracting the details of PABX from Broker?
 
 It's turtles all the way down.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | mqsiuser | 
			  
				|  Posted: Thu Mar 15, 2012 8:42 am    Post subject: |   |  | 
		
		  |  Yatiri
 
 
 Joined: 15 Apr 2008Posts: 637
 Location: Germany
 
 | 
			  
				| 
   
	| lancelotlinc wrote: |  
	| SOA Loose-Coupling is a wonderful concept that helps manage systems in an automated way. |  We have 2012 now and not 2002: It turned out that there is a lot of integration work left to be done (even when using WebServices) and that a lot of big companies just do not call web services here and there (but often replicate data between their different systems... to have instant access)... whats the benefit of calling a web-service (which might not be available) at the end of the other side of the world ?
 _________________
 Just use REFERENCEs
 
 Last edited by mqsiuser on Thu Mar 15, 2012 8:55 am; edited 1 time in total
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | lancelotlinc | 
			  
				|  Posted: Thu Mar 15, 2012 8:54 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 22 Mar 2010Posts: 4941
 Location: Bloomington, IL USA
 
 | 
			  
				| 
   
	| mqsiuser wrote: |  
	| 
   
	| lancelotlinc wrote: |  
	| SOA Loose-Coupling is a wonderful concept that helps manage systems in an automated way. |  We have 2012 now and not 2002: It turned out that there is a lot of integration work left to be done (even when using WebServices) and that a lot of big companies just do not call web services here and there (but often replicate data between their different systems... to have instant access)... whats the benefit of calling a web-service (which is not available) at the end of the other side of the world ?
 |  
 I am assuming the OP's PABX system is in the same area as the Broker runtime (ie. not on the other side of the world, although I could see a datacenter in Cebu in my future). I am suggesting a way to scope the project's artifacts that make it more maintainable and more SOA-compliant.
 
 Your statement about replicating data is true for many organizations. They should not do that.
 
 Also, I would expect more re-use out of the Web Service. For example, an application that uses the Web Service to query the status of various PABX states. I would expect the WMB interface to the PABX Web Service to set various things inside the PABX according to the transaction being processed by WMB. Some other application (a GUI perhaps) would want to inquire the status of those things, perhaps not using WMB.
 _________________
 http://leanpub.com/IIB_Tips_and_Tricks
 Save $20: Coupon Code: MQSERIES_READER
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | mqjeff | 
			  
				|  Posted: Thu Mar 15, 2012 8:59 am    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 25 Jun 2008Posts: 17447
 
 
 | 
			  
				| 
   
	| lancelotlinc wrote: |  
	| perhaps not using WMB. |  Again, that's likely exactly what is trying to be avoided here.
 
 The advantage of an ESB is that you know that everyone is using the right interface in the right way and is following the contract defined for the service you have developed.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | lancelotlinc | 
			  
				|  Posted: Thu Mar 15, 2012 9:42 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 22 Mar 2010Posts: 4941
 Location: Bloomington, IL USA
 
 | 
			  
				| 
   
	| mqjeff wrote: |  
	| 
   
	| lancelotlinc wrote: |  
	| perhaps not using WMB. |  Again, that's likely exactly what is trying to be avoided here.
 
 The advantage of an ESB is that you know that everyone is using the right interface in the right way and is following the contract defined for the service you have developed.
 |  
 In general, I promote the concept that the ESB be the central point of contact within an organization. There are circumstances where direct connections are useful. Not all Web Services traffic has to make the intermediate stop in the ESB. Now, if the ESB were located in the Pac-Rim....
 _________________
 http://leanpub.com/IIB_Tips_and_Tricks
 Save $20: Coupon Code: MQSERIES_READER
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |