Siebel and dotMailer – Integration Wrapper

I blogged a while back about a third party Email Service Provider (ESP) called dotMailer. They provide a rather snazzy email marketing capability that far surpasses the function of the Siebel Email Marketing Server. They also expose a very functionally rich API via SOAP WebServices and I have been looking at building a Siebel Wrapper to allow the use of dotMailers services in the Siebel Marketing application.

What I’ve put together so far are a number of components:

System Preferences

Prefs

  • Central, configurable parameters to support access and authentication

Workflow Processes

Workflow

  • Workflow processes, wrapping the dotMailer API in comprehensive, neat and standardised Siebel configuration
  • Includes a template Exception Workflow to allow you to hook into your existing exception framework. This is configured as the exception workflow in all the supplied Workflow Processes
  • Example workflow showing hooks into the Campaign Launch functionality, effectively replacing the Siebel Email Marketing functionality with that of dotMailer

Integration Objects

IO

  • Simplified but extensible IOs supporting query and update of Contacts and Campaigns, including history and responses

Data Maps

DataMap

  • Hierarchical data maps providing standard mappings from dotMailer constructs to Contact and Campaign IOs and vice versa

Business Service

Script

  • Simple, well documented and structured eScript business service providing supporting services in a single, re-usable and customisable form

UI Elements

UI

  • A simple administration applet and view to embed the dotMailer UI in your Siebel Marketing application

Now, this is very much a work in progress and something that I’m doing in my spare time – with a second baby well on the way (WOO HOO!) it may take me a while to get a Production ready product.

What I’d like to do is gauge any interest my readership may have in this endeavour. Are you a Siebel Marketing developer? Customer? Prospect? Are you looking to replace Siebel Email Marketing?

A click in the survey below would be greatly appreciated as it will help me gain an understanding of interest in this little project and may motivate me to get it completed ahead of schedule!

[poll id=”4″]

Thanks for reading!

Testing the Email Sending Daemon

I’m still working with Siebel Marketing and I’ve recently faced an issue with testing the Email Sending Daemon (ESD). Without a corporate SMTP server, how can you test your development configuration of Email Marketing Server?

Well, for me, the answer was open source: Apache James is a fully featured, open source email server with SMTP functionality. It works great as a test harness for your local ESD installation and keeps everything away from your live corporate email environment.

The steps for reconfiguring James to support redirect to localhost were taken from this fantastic site. Many thanks to its author for this information.

SiebelESDJames

In order to get it all up and running:

    1. Download and unzip Apache James server onto your ESD server host
    2. Run the server once by running the ‘start.bat’ script (or Linux equivalent)
    3. Close down the server once it has generated it’s configuration files
    4. Locate the ‘config.xml’ file in <install>\apps\james\SAR-INF
    5. Open this file and remove the <mailet> section for the ‘RemoteDelivery’ class in it’s entirety
    6. Paste the following code in it’s place:
      <mailet match="All" class="Forward">
      <forwardto>test@localhost</forwardto>
      </mailet>
    7. Save the config file and restart the James server
    8. Open a command prompt and type:
      telnet localhost 4555
    9. Login using the root user and default password
    10. Create a new user by typing:
      adduser test password
    11.  Now, in the esd.properties file, specify the localhost James server as the Mail Transfer Agent (MTA):
      esd.mailServers=localhost
      esd.smtp.smtpHostname=localhost
    12. Restart the ESD
    13. Download and install Mozilla Thunderbird onto the ESD server
    14. Create a new account, using ‘test@localhost’ as your account name
    15. Click ‘Manual Config’
    16. Select ‘POP3’ as incoming and for both SMTP and POP3 servers, enter ‘localhost’ as the host
    17. Enter the username ‘test’, or whatever you defined in the James user setup above
    18. Click ‘Re-test’ then ‘Done’
    19. Thunderbird is now checking the POP3 account on the James server, to which the ESD will now redirect all email traffic

Now, back in Siebel Marketing, create a Seed List:

  1. Go to Site Map > List Management > Lists
  2. Create a new list of type ‘Seed List’ and stick a couple of contacts in there
  3. Drill down into the contacts and set their email addresses as ‘test@localhost’ – this is just for saftey sake and you can leave these as is. The James forwarder should take care of sending all emails on to test@localhost

Now create a Campaign, Offer and Email Treatment:

  1. Go to Site Map > Campaigns
  2. Create a Campaign
  3. In the ‘Design’ view, associate an Offer
  4. In the ‘Treatment’ applet, create an Email Treatment
  5. Drill down into the Treatment, add some body text
  6. Select Menu > Test Email
  7. Select the ‘Seed List’ that you created earlier and select a format (HTML)
  8. Click ‘Send’

Siebel Marketing will now communicate with the ESD, via the out of the box Web Service, which in turn will send test emails to the SMTP server configured; in this case, the Apache James server. As we have a redirect configured to forward all mails to the ‘test’ account, you should now see all of your test emails in your Thunderbird client. Just click ‘Get Mail’ and you should see all your emails coming through for your seed contacts.

Hopefully this article will have given you some pointers on how to test your ESD installation in isolation and also show you what the open source Apache James SMTP server can do.

Please do post below if you have any questions.

Siebel Email Marketing – 8.1.1.10

I feel a bit rotten for bashing Siebel Email Marketing in an earlier post. The ESD, BHD and CTD clearly mean no harm and it’s not their fault that they’re a bit old and use an InstallAnywhere freeware installer that doesn’t actually work in Windows 2008. ūüėČ

Despite my gripes, it would appear that Oracle have not forgotten about Email Marketing and have introduced some really quite nice new functionality in Siebel 8.1.1.10:

  • Social Sharing
  • Dynamic Content

How to get there, with the new Incremental Repository Merge, is the subject of a much wider discussion! Let’s just say that Oracle aren’t quite there yet…

EmailMarketing81110

Clearly, allowing easier integration into social networks is a big deal nowadays. Imagine the difference in market penetration that could be achieved with a simple ‘share this offer with a friend’ link in your communication. You’re letting your customers do all the work and reaching out to a similar demographic with very little effort. This is a great move and a welcome addition to the tool.

Dynamic Content is something that has also been sorely lacking from email treatments within Siebel. As you aim for more and more personalised communications to customers across all channels, it’s important to make your audience feel like you’re offering something valuable and personal. I’m sure all of my blog readers have been the recipient of bulk, generic emails that immediately go to the spam bin.

So, thumbs up to Oracle for their continued investment in the marketing functionality.

If you’d like to learn more, take a look at the Oracle Learning Library, something I discovered thanks to my good friend @lex over at Siebel Essentials.

dotMailer Integration – Web Services

So, let’s get the easy bits out of the way first!

dotMailer provide access to their services via SOAP web services. As such, they provide a Web Services Definition Language (WSDL) file that provides all of the details around the data structures used, to be translated into Siebel Integration Objects, and methods that can be invoked, provided by the Siebel Outbound Web Service definition and proxy Business Service.

dotMailerTools

Take a look here and you’ll find the WSDL for the integration services provided by dotMailer. Simply download this file and fire up Siebel Tools. From here:

  1. Create a new Project for our custom objects
  2. Select ‘File > New Object > EAI > Web Service’
  3. Select your project, WSDL and click ‘Next’, click the ‘DeployCheckbox’ then ‘Finish’
  4. You’ll find a new Business Service called ‘APISoap’ – rename this to something a bit more descriptive, like ‘dotMailer BS’
  5. Check out the methods exposed in the new BS – lots of lovely functionality to send and monitor marketing emails!
  6. Have a look at the Integration Objects created – you’ll find message formats for all the outbound and inbound message structures that you’ll need to manage the integration
  7. Go to ‘Administration – Web Services’ in the client and have a look for the ‘API’ Web Service. Here’s you’ll find the URL for the dotMailer API, along with all the supported service ports and operations

And that really is that!

In order to test, you can create a simple Workflow that invokes the ‘GetServerTime’ function. This doesn’t require any input or authentication, so is a good test of your set up so far:

dotMailerTestWorkflow

  1. Create a new Workflow Process in your new Project
  2. Add Start, Business Service and End steps
  3. Add a new Process Property:
    NameData TypeIntegration Object
    ResponseMessageIntegration ObjectGetServerTime
  4. Modify the Business Service step, setting the following properties:
    NameBusiness Service NameBusiness Service Method
    dotMailer GetServerTimedotMailer BSGetServerTime
  5. Set the outputs of the step as follows:
    Property NameTypeIntegration ObjectOutput Argument
    ResponseMessageOutput ArgumentGetServerTimeGetServerTimeSoapOut:parameters
  6. Run the Workflow and be amazed by the result:

dotMailerOutput

Over the coming months I’ll be looking at how we might develop a framework to replace the calls to Siebel Marketing Server with calls to the dotMailer Web Service.

See you soon!

 

Siebel Email Marketing

Lets face it, Oracle’s “Siebel Email Marketing” offering is a bit embarrassing. From the moment you download installation software that’s dated about 8 years ago, you know you’re not in for anything special.

SiebelEmail

I’m working on another Marketing programme, having come across “Siebel Email Marketing” on a number of occaisions previous, and I was somewhat disappointed to see that nothing much has changed since I looked at it a couple of years ago. You’re still looking at the aging ESD, BHD and CTD components that look like some sort of freeware, apache based hacks. It’s not at all in keeping with todays content and interaction focussed email marketing requirements.

As such, I started digging around other options. Something that came up smelling of roses was the dotMailer offering, which provides some very snazzy email campaign design features, including very nice web based email template design, along with a SOAP (or RESTful) based API to invoke their services externally.

dotMailer

Well, I couldn’t resist the opportunity to have a mess around with the API, using SoapUI to begin with, to develop some functionality in Siebel Marketing to use their services in place of a crusty Email Marketing Server.

Stay tuned for some updates on how I get on and how this works out!