Thursday, July 16, 2009

Patterns in enterprise integration architecture

I have been working with Siebel for about 8 years now and I must admit that while I enjoy developing solutions for my organization in Siebel, I actually only spend about 20-30% of my time actually with Siebel. As I'm sure most Siebel architects will agree, large enterprise CRM products become a hub of a companies data architecture. This really means that the remaining 70-80% of my time is spent on integrating Siebel with other internal systems.

This is my true passion. I love making data flow between systems and was introduced to EAI toolsets about 6 and 1/2 years ago with SeeBeyond and the BizTalk 2000. What those tools taught me, is that integrating should be focused on the business process flow and not the plumbing.

At the time, I was managing a whole constellation of crappy VB6 apps that were inconsistently written, had different alerting mechanisms (some wrote to the event log, some sent email, some wrote log files, some called out to Blat for god sake).

I knew there had to be a better way and really got sucked up into finding one.

Along the way I discovered that the problems that I was looking at were not unique - of course not - every good programmer know the GOF patterns, but what I also found was the excellent work by Gregor Hohpe and Bobby Woolf. I swear by this book. I take it to every meeting with executives and managers.

The patterns are great and I must say that the layout and structure of the book is very unique. It is the most accessible and friendly patterns book I've ever seen.


Enterprise Integration PatternsEnterprise Integration Patterns
Gregor Hohpe and Bobby Woolf
ISBN 0321200683
650 pages
Addison-Wesley

Thursday, July 2, 2009

Executing Webservices in Siebel

I've been bashing my head about trying to stay scriptless when calling an outbound web service from Siebel 7.8.

I think I've found a neat way which is basically what this link and this link show. What was missing was the ability to set the type to XXXopertation:parameters on the message. Based on what I was just doing, it doesn't look one needs to.



The workflow above shows that we can use the PRM AMI services to get the blank integration object and then directly call the web service. In addition I'm doing some kung fu in order to send an integration object (account interface) to an external web service (hosted in BizTalk) which I have to append to the operation integration object. Fun stuff.

Sweet.