Siebel Assignment Manager – Introduction

It’s been a while since I put up a technical post so I thought I’d kick off with some Assignment Manager action! Since Siebel Bootcamp, I’ve not touched on Assignment Manager in any of my projects. My current Public Sector implementation is using it for Case assignment and it’s given me an opportunity to get to know the technology a bit better. Hopefully I can share some of that with you over the coming weeks.

For those not in the know, Assignment Manager (AM from now on, to save me typing!) is a technology that allows the allocation of objects such as Opportunities, Service Requests, Cases and Activities, to ownership objects within your Siebel implementation: employees, positions and organisations. It does this, is essence, using some key features:

  1. Assignment Objects
  2. Assignment Criteria
  3. Assignment Rules
  4. Assignment Skills

Think of objects as a parallel abstraction of the data layer to a business layer. Not quite a Business Component but sharing many of the same properties: imagine a simplified BC definition, where fields are exposed via columns and joins. These make up the SR, Opportunity objects and the key attributes of those which will be the basis of their assignment. Assignment criteria, rules and skills all go towards matching up attributes of the object to equivalent or related attributes of the assignee, be that a person, position, organisation or a mixture of both.

Don’t get too bogged down in the detail of it all though. In the coming weeks, I’ll hopefully show you that’s it’s not all that complicated and defining new Assignment Criteria and associated Assignment Rules is actually pretty straight forward!

If you can’t wait any longer, there’s always the Assignment Manager Guide on Bookshelf!

See you next time!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Oracle Siebel CRM 8 – Book Review

As I mentioned in my previous post, I am lucky enough to have been offered the opportunity to peruse a review copy of Alex Hansal’s new book, ‘Oracle Siebel CRM 8 Installation and Management’. I’ve had a few days to go through it and wanted to share my findings with you.

First up, a number of important observations:

  1. This book is NOT a reference guide. Siebel Bookshelf is still the one and only reference library that you will need when configuring, administering and managing Siebel day to day
  2. This book is NOT a configuration guide. Do not expect to pick this book up and begin working in Siebel Tools. This is an installation and maintenance guide, not a developers guide
  3. This book is NOT a beginners guide to Siebel. In order to get the most out of the contents, you should posses some understanding of Siebel technologies

Bearing in mind the statements above, I’m pleased to say that this book is actually pretty good!

My first observation is that the book is very well written. The language is clear and  concise (especially pleasing as the author is a native German speaker) and it is well illustrated with useful screenshots and diagrams. The contents are laid out logically and each chapter flows well into the next.

In brief, the book covers the basics of getting started with an out of the box Siebel 8 installation. Roughly speaking, it covers the following areas:

  1. Overview of the Siebel architecture
  2. Installation of the main Siebel components on both Windows and Unix / Linux platforms, including setting up security adapters and SSO
  3. Server Administration
  4. Siebel Application Deployment Manager (ADM)
  5. Monitoring Siebel applications
  6. Managing Siebel Remote

There is also a chapter or two around access control and personalization and position and organisation hierarchy, which I did find a little odd. Given the nature of the rest of the content, this seemed to be a deviation into the developers domain. I could be wrong, however, and it’s obviously better to have more than less!

The first chapter will be useful if you’re new to Siebel, otherwise it’s just a recap of what you probably (hopefully!) already know. If you’re moving from 6 to 7 / 8 then it might handy to note the architectural changes in those versions. If so, welcome to the 21st century!

The installation, configuration and administration chapters are excellent and really serve to condense the gargantuan quantities of information available in Bookshelf into a manageable step by step guide. I tested this section on one of my colleagues on my current project and he managed to install a base 8.1 SIA environment just by following the guide. A testament to the content, given he has very little Siebel experience! The process is very well defined and the instructions and screenshots clear and concise. Siebel Remote Administration is also given a lot of attention and the author has done well to introduce features that you will definitely find useful.  Personally, I’ve done more Siebel installations than I can remember and thought I knew it all – there are some great tips and tricks that will appeal to even the most seasoned Siebel architect. Of particular note are the security administration and the Oracle BI Publisher installation sections. These are both complex topics and require much to’ing and fro’ing in Siebel Bookshelf to accomplish. It really is excellent to have these important concepts broken down into easy to follow steps.

The ADM section is welcome but I feel it is lacking in the level of detail that would really make it useful. ADM has been around since Siebel 7 but has yet to appeal to me as a one stop shop for migrating reference and non-repository data between environments. Some real world examples of, say, migrating deltas of hierarchical LOV values from Dev to Test would have made this chapter far more useful; as would an example of setting up custom object types to migrate other types of data. As it is, the chapter is a good overview of ADM and gives you an introduction to what it’s all about.

Monitoring is a great addition and is an area often overlooked by technical references. The core features of the SARM and the Siebel Management Server are covered and this offers a handy introduction to a wealth of performance and debugging information that you can now pull out of your Siebel instance. For me, this was new ground and something I’ll definitely be looking to refer to more often in the future.

Overall, it’s a good book. It’s not a ‘Learn Siebel in 24 hours’ type of book: I would always recommend the Core Consulting course and a couple of years working on a project, if you are really serious about getting into Siebel technology. It’s a companion, rather than a replacement, to Siebel Bookshelf and would sit well on the shelf of any Siebel infrastructure specialist or System Administrator.

You can buy the book direct from Pakt Publishing or from Amazon.

VN:F [1.9.3_1094]
Rating: 9.0/10 (1 vote cast)

New Siebel book hits the shelves!

I’ve remarked in the past how things have changed for Siebel over the last couple of years: blogs, forums and books are now surfacing allowing us to discuss, read and learn outside of the confines of Oracle University.

Now, a new book has just been released called Oracle Siebel CRM 8 Installation and Management that aims to further expand the growing knowledge base available to all of us in the industry:

The kind people at Packt Publishing have offered to let me peruse a copy and provide my feedback. I’m really excited about this as previous attempts (Siebel 8 for Beginners, I’m looking at you!) at encapsulating the behemoth of Siebel in paperback form were not, in my opinion, particularly worthwhile.

Stay tuned for a full review in a couple of weeks time!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Coming up…

It’s been a busy time for me over the last couple of weeks. However, I’m working on a new Siebel 8.1 site at the moment and I’ve started delving into Assignment Manager – specifically around Cases and Activities for now, but we’ll see how things progress.

My articles will be less regular than before, but I’m hoping to release a series on Assignment Manager in Siebel 8.1 over the coming month or so. In the mean time, please peruse the active articles and feel free to add some comments. Even the likes of ‘We deployed SAP CRM and it’s brilliant!’ or ‘Cloud computing – death to Siebel!’ are welcome – I’m always up for a bit of CRM based discussion! :)

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Wireless – Tools Configuration

Configuring a Wireless application is very much like any other app development task in Siebel Tools. The Wireless application is made up of a number of object types. Again, I’m using Service as an example, but this could be substituted for Sales or whatever:

  • Application (Siebel Service Wireless)
  • Screens (*SWLS Service*)
  • Views (*SWLS Service*)
  • Applets (*SWLS Service*)

Applets and Views are named according to the relationship that they represent (parent / child) and whether they are list (Display) or form (Detail) type . For example:

SWLS Service Account Activity Display View

This is the Wireless Service (SWLS Service) view that for a parent Account will show a list of Activities

Applets, Views and Screens are all built up in the same way as you’d expect and use a specific Wireless Web Template to allow display on the smaller device screens. Drill down, via Drill Down objects, Picklists are all supported out of the box. More complex functionality, such as buttons, are handled via User Properties on the applet level controls. Note that these are currently undocumented, so a degree of trawling through the vanilla configuration is unavoidable. You’ll soon understand what’s going on but analysis of the existing config against vanilla functionality is highly recommended.

Here are a few useful tips:

  1. Application Screen objects determine what will appear in the Home screen – add items as Page Tabs and ensure the Responsibility contains appropriate Views
  2. Views are standard though are made up of single applets
  3. Applets are standard and made up of two to three fields, as List Columns, or many fields as a form. Controls and List Columns on the applets use a set of specific Wireless User Properties, including:
    • Page – a link to return / navigate to a specific Web Page
    • View – a link to a specific View
    • KeepContext – determines whether to keep the BO context when navigating
    • Popup – whether this displays a popup window
    • UseParent – allows displaying of a parent field value on a child applet (SR number of a list of Activities, for example)
  4. Drill down objects work in the same way as normal to provide drill downs to other views
  5. Child ‘view’ items are defined as controls on the applet, with a ‘View’ user property
  6. Applets will apply search spec as per Bus Comp definition but will ALSO apply the default PDQ!

My recommendation is to modify existing applets and copy existing applets instead of creating new ones from scratch. When creating my Case configuration, I copied the existing Service Request objects and modified them accordingly.

Give it a go and feel free to post comments with problems or success stories!

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)

Siebel Wireless – Browser Capabilities

Siebel Wireless can be tweaked to support a number of different target devices. BlackBerries, iPhones, Nokias and so on, all have different amounts of screen real estate and their browsers all have different capabilities. Siebel Wireless offers you the ability to tweak the layout and functionality of pages delivered to a device, based on the browser user agent.

To set up various capabilities, follow the steps below. I’m using BlackBerry as an example, but the same rules apply for all device and browser types:

  1. Navigate to Administration > Web Browsers
  2. Query for ‘Blackberry*’
  3. Copy the existing record and rename as: Blackberry Parent
  4. Drill down to set shared capabilities
  5. Create new Web Browser entries, for example Blackberry 9550, with ‘Blackberry Parent’ as parent
  6. Drill down to set specific capabilities. Some common settings:
    • User-Agent – user agent specified by browser to web server (for example, BlackBerry9550)
    • NumberOfListRows - number of rows to display, fitting on the device screen (for example, 5)

A great way to test what you’ve done is with Firefox. Within Firefox, you can configure the browser to ‘pretend’ to be any number of different user agents. For example, to test a BlackBerry 9550:

  1. Load up Firefox
  2. In the address bar, enter: about:config
  3. In the filter bar, enter: useragent
  4. Double click general.useragent.extra.ofcom and type in your user agent string – BlackBerry9550
  5. Restart FireFox and navigate to your Siebel Wireless site

As you can probably see, it’s really easy to set up and use Siebel Wireless out of the box. Delivering the same application to multiple devices is also made easy via Browser Capabilities – and we haven’t even touched Siebel Tools yet!

Coming up next, we’ll look at the Siebel Wireless Tools configuration and I’ll talk through adding your own functionality to the existing application.

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)

Siebel Wireless – Getting Started

Getting started couldn’t be easier! I’m using Siebel Service as an example – Siebel Sales is exactly the same but uses the ‘Siebel Sales Wireless’ Object Manager.


Follow these steps to enable Siebel Wireless:

  1. You’ll need the Siebel Wireless license key. Go to Administration – Application > License Keys and add it in
  2. Restart the Siebel Server service
  3. Navigate to Administration > Server Configuration > Enterprises > Component Groups
  4. Enable the ‘Siebel Wireless’ Component Group
  5. Highlight the ‘Siebel Service Wireless (ENU)’ Component
  6. Click ‘Assign’ to enable on server
  7. Restart the Siebel Server service
  8. Verify the wpserv_enu entry in eapps.cfg
  9. Navigate to Administration – User > Employees
  10. Create a new record, assign a Position and associate the ‘Field Service Representative – Wireless’ responsibility

That’s it! You can access the vanilla Wireless Service application via the URL: http://<Siebel Web Server Host>/wpserv_enu/. For a slightly more impressive demo, you can use the TestiPhone iPhone Simulator to display your mobile site!

In the next post, I’ll look at how to configure Siebel to support multiple devices and browsers, without any Siebel Tools configuration!

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)

Siebel Wireless – An Introduction

Siebel Wireless has been around for a while now. Along with Siebel Handheld and Siebel Mobile, it has been part of a number of solutions for delivering CRM via mobile computing. There are pros and cons of each as you’d expect. For example, Siebel Mobile runs off a local database while Siebel Wireless is a connected solution. Siebel Remote works great if you don’t need run time data but Siebel Wireless, which will deliver data in real time, is no good if you can’t get connected.

With mobile communications technology advancing as it is, delivering better coverage and faster devices with more screen real estate, the Siebel Wireless option is becoming an attractive one. It provides a cut down pure HTML version of your ‘full fat’ Siebel application and delivers it directly to a mobile device, be it Blackberry, iPhone, Nokia or whatever. It’s a very simple solution but very powerful at the same time. Siebel 8 has delivered a much improved (and much prettier!) Siebel Wireless solution when you put it up against earlier efforts.

I’ve spent some time developing a Case Management Wireless solution that builds on the vanilla Wireless Service configuration. In the next article or two I’d like to share my experience and knowledge around this area. Demo’ing a POC system to board members, via iPhone or a big screen via RIM’s Blackberry simulators, will be sure to raise an eyebrow or two I can assure you!

Stay tuned!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Security – Security Profiles

Last time we talked about the concepts involved in authentication using Active Directory. This week, we’ll have a look at how to apply these concepts by creating an authentication profile in Siebel, for use by an Object Manager.

First up, go into Site Map > Administration – System Configuration > Enterprises > Profile Configuration

If you query for Profile = ADSI*, you’ll see a vanilla AD security adapter configuration. If you’re going to try changing stuff, why not take a copy of this so that you can always refer back to the original.

So, here are the values you’ll need to fill in:

ParameterDescriptionExample
Server NameThe name of your directory serverintra.myco.local
PortThe port on which your server is listening389
Base DNThe container which will act as the root of your user objectsOU=USERS, DC=INTRA, DC=MYCO, DC=LOCAL
Application User DNAn AD user that has the ability to add and modify existing objectsCN=ADSIUSER, OU=USERS, DC=INTRA, DC=MYCO, DC=LOCAL
Application PasswordPassword for the user abovexxxxxx
Propagate ChangeWhether or not changes in Siebel will propagate down to ADTrue
Shared DB User NameUser name of the DB account which is used to access the Siebel DatabaseSADMIN
Shared DB PasswordPassword for the user abovexxxxxx

Once you’re happy with this configuration, you need simply tell your OM component to use the new profile for authentication. Do this through Site Map > Administration – System Configuration > Servers > Components > Parameters. Simply set the follow parameter values:

ParameterDescriptionExample
Security Adapter ModeEither ADSI, DB or LDAP ADSIADSI
Security Adapter NameName of the profile that you created aboveintADSISecAdapt

That’s it!

You can trouble shoot by setting event logging on the OM, specifically around the Security Adapter Log and Security Adapter Manager events. I’d also recommend reading through the Siebel Security Guide in Bookshelf.

Please feel free to post if you’re having problems with enabling AD authentication in Siebel or if you have anything else to add.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Article Ideas Wanted!

You might have noticed that the world of Siebel is becoming a lot more open. Five or so years ago, Siebel kept their cards very close to their chests: there were very few blogs, no discussion forums or independently published books. Outside of SupportWeb and Bookshelf, you were on your own.

Whether it’s changing times or Oracle’s intervention, the technology is opening right up: blogs galore, open discussion forums hosted by Oracle, free downloads from eDelivery and several books hitting the shelves of Amazon. These are good times for the community and gives us a great opportunity to share our knowledge and skills and help each other out.

So I’ve posted some articles, garnered some responses and hopefully helped a few people out.

What I’d like to know from anyone visiting is, what would you like me to post about? Are there any specific areas that you’d like me to cover? Any burning questions you’d like me to answer?

I’m open to suggestions as at the end of the day this site is about informing and helping other people. Comments or emails welcome!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Security – Active Directory Authentication

One of the more complex installation and system administration functions of a Siebel 7 or 8 environment is authentication. Back in the old days, many Siebel sites used out of the box database authentication which required little or no additional configuration. Nowadays, we want to leverage existing company directories to cut down on unnecessary configuration and maintenance, while also providing a friendlier ‘single sign on’ experience to users. In this post, I want to cover off some of the concepts around Active Directory authentication within Siebel and hopefully show you that it is really not as complicated as it seems. It’s a big topic, so we’ll cover principles in this post and the finer details of setting things up in Siebel next time.

I’m going to concentrate on Microsoft Active Directory here but the principles can be applied to LDAP or other options that you care to mention.

First up, there are some important concepts and pieces of information that you need to understand:

  • Profiles - in Siebel, profiles represent Enterprise wide configuration that can be used and shared by components in the enterprise.
  • Security Adapters – these represent Siebel supplied DLLs that provide a black box between Siebel and your chosen authentication software
  • Containers - in AD, these represent subdivisions of objects within the directory. Think of them as folders within a file system
  • Distinguished Name (DN) – this is essentially a ‘path’ to a unique object within the directory, for example a user
  • Base DN – in Siebel terms, this defines a ‘root’ path from which it will look for AD objects and containers
  • Application User – an AD user that has write access to the directory. This is to allow Siebel to propagate changes down to AD
  • Share Credentials DN – this is the location of an object, usually a user, where database authentication details are stored. This allows the component using the profile to connect to the Siebel database. This has been phased out in Siebel 8
  • Anonymous Employee – User or Employee record that is used to log in as an anonymous user into an Employee application
  • Anonymous User – User record that is used to login in as an anonymous user into a Customer application

You can define a security adapter profile in a number of ways:

  1. During installation of the Enterprise
  2. Through the Siebel Client – Site Admin > Administration – Server Configuration > Enterprises > Profile Configuration
  3. Through the Siebel Gateway Configuration tool

As ever, Bookshelf is here to help and you can find all this information in the Security Guide.

Next time, we’ll take a look at choosing these values and how to use them to set up AD authentication in Siebel.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Oracle POC Siebel CRM on iPad

I’m still struggling to get overly excited by the iPad! Don’t get me wrong, I love my iPhone: I struggled for 18 months with a Windows Mobile 6.5 phone before I caved and have been won over by it. I’ll never go back!

The iPad, however, I just can’t quite get my head around. It’s not an eReader and it’s not a laptop. It’s somewhere in between and I can’t yet see a niche there that needs to be filled. If it had come with a bit of ‘oomph’ and MacOS X then I’d be sorely tempted. To me, it’s still just a big iPhone and, having grown accustomed to the apps available on that platform, I really struggled to find anything to do when I had a go on the company iPad. Still, I don’t doubt it will be big and two generations more down the line, there might be something worth buying.

Anyway, I digress – Oracle have announced support for the Siebel CRM platform on iPad, which is really interesting! Having no Flash or ActiveX to play with, this is obviously a big change for us and is a good sign that Siebel is still going strong in the minds of the Oracle marketing bods. With a bit of luck, Oracle will be demo’ing this to us sometime and, if they do, I’ll be sure to report back.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Configuring OBI Applications 7.9.5.1

After my last article, I’ve been wrestling with the installing documentation for Oracle Business Intelligence Applications – the new name for Siebel Analytics. I’m pleased to say that, a few niggles aside, the process of getting this up and running is pretty straight forward! I’ve summarised the steps below and included some details of the issues I came up against and how I resolved them.

After downloading and installing the basics, there were a few additional bits and pieces that were required:

  • Java JDK 1.5 is recommended – I originally had JDK 6 update 20 installed but this caused problems with the DAC user interface
  • DAC is installed with OBIA – there is no need to download and install this separately
  • Oracle 11g client is fine, but you should download classes12.zip and jdbc14.zip from the 10g JDBC driver site at Oracle
  • There is some fiddling required with .JAR files for both database connectivity and ‘Hibernate3.2′ – both must be copied to DAC\lib

That’s about it really – following the instructions from the Oracle BI Applications documentation was surprisingly simple and successful!

Please feel free to post your experiences.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Installing Oracle BI Applications (Siebel Analytics)

We’ve seen Siebel Analytics in use at a number of client sites, but I’ve rarely had an opportunity to get to grips with it. I performed some base installations a long while back, from a set of instructions, but that’s pretty much it. I’ve recently had a lot of interest in what’s happing in this space and have decided to revisit what is now Oracle Business Intelligence Applications. In this post, I’ll share with you my experience of downloading, installing and configuring this set of tools.

Downloading is very straight forward. Visit Oracle eDelivery, select the ‘Oracle Business Intelligence’ Product Pack and your requirement platform. Select Oracle Business Intelligence Applications 7.9.5.2 for Oracle Data Integrator Media Pack for Microsoft Windows (32-bit) then download and unpack the following ZIP files:

  • Oracle Business Intelligence Suite Enterprise Edition 10.1.3.4.0
  • Oracle Business Intelligence Applications 7.9.5.1
  • Informatica PowerCenter and PowerConnect Adapters 8.6.1

Installation has a number of steps:

  1. Set yourself up a Windows 2003 / 2008 virtual server. I’m still using Windows Virtual PC.
  2. Install Oracle 11g database using the Enterprise option
  3. Create a new database (I always create SIEBDATA and SIEBINDX tablespaces) and create INF, OLTP and DAC users
  4. Install the OBI Suite
  5. Install the OBI Applications
  6. Install Informatica PowerCenter Server, Client, Siebel Server / Repository, Siebel Client and hot fixes

This should all be pretty straight forward. The fun comes in actually configuring the applications and getting it all up and running together. The subject of a future post, I’m afraid!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel 8.1 on Windows 7

I’ve noticed a lot of interest around using Siebel Tools and the Siebel Web Client with Windows 7:

Having been a Windows 7 user since the early betas, I have to say it’s the best Windows operating system yet. Where Vista piled in with clunky processes, UAC, compatibility problems and a host of other issues, Windows 7 feels light and user friendly. I use it on all my desktops and laptops and I have to say, I love it.

However, since version 7, the Siebel Client and Tools Client seem to have veered away from being happy, Win32 applications. I remember the good old days of Siebel 99 and Siebel 2000 (6.x) with their nice, friendly InstallShield installers and I don’t remember having any problems running them, from NT through XP to Vista. However, things have changed!

Your first hurdle is the download. Long gone are install CD / DVD images: now we have colossal ZIP file downloads and ImageCreator. Don’t let this put you off visiting Oracle eDelivery and downloading yourself a copy though. Download the 3 or 4 ZIP files associated with the media pack of the version you’re interested in, unzip into a single directory and run ImageCreator. From here, you can create familar installation folders for your target platform and products. This is your first hurdle – ImageCreator HATES Windows 7! The only way I’ve been able to extract an installation is by running the installer in XP mode in Windows 7 Ultimate. Here’s a better alternative for you:

  1. Burn the extracted files to a dual layer DVD
  2. Find an XP machine and run ImageCreator
  3. Create DVDs of the Client and Server installation folders

I know this sounds silly, but it’s by far the best way to get working installers, with language packs, and you only have to do it once.

Your next hurdle in the dreaded OUI – Oracle Universal Installer. Now, in my opinion, OUI is one of the nastiest pieces of software I’ve ever come across. It’s a nightmare and quirky as hell! Don’t let this put you off: there are a few key things to note when running OUI under Windows 7:

  1. Always run the install from a physical drive or mapped drive. It will not run correctly if run from a UNC path
  2. Run the install from a path without spaces. It’s medieval, but it will save you hassle!
  3. Right click the installer and select ‘Run As Administrator’ and run in the ‘Windows XP SP3′ compatibility mode

If you follow those steps, you should be able to install both the Web Client and Siebel Tools without any problems.

When it comes  to running the applications, follow the same steps as above: for each of the executables (siebel.exe and siebdev.exe), set the ‘Run As Administrator’ and ‘Windows XP SP 3′ compatibility options in the same way as before.

Configure your CFG file as normal, double click, login in and enjoy! :)

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel 8 Case Insensitivity

Siebel 8 does away with the concept of turning query case sensitivity on and off with a simple switch. In order to allow for fine tuning and improved performance, case sensitivity is implied unless explicitly configured on a per Column object basis:

If you have case insensitive searching currently, you can configure this in Siebel 8 as follows:

  1. In your Tools folder, look in the OBJECTS folder where you’ll find some CSV files. These represent the recommended base column objects for which special Case Insensitive (CI) indexes should be created. You can add custom indexed table columns to this list.
  2. In Tools, connect to the server repository
  3. To make this easy, go to Projects and query for Name = *Table*. Use Edit > Change Records to lock these projects
  4. Select Tools > Utilities > Case Insensitivity…
  5. Click browse and locate the CSV file for either SEA or SIA applications. Click next.
  6. Tools will work out what it needs to do and will tell you if any projects or objects are not locked. You’ll need to cancel, lock the projects and re-run in this scenario
  7. Siebel will apply the changes required to your repository, creating new indexes for these columns and setting the Default Insensitivity property

To enable insensitivety for other, non-indexed columns:

  1. Select Tools > Utilities > Case Insensitivity…
  2. Click the ‘Enable for all unindexed columns…’ radio button. Click next.
  3. Tools will work out what it needs to do and will tell you if any projects or objects are not locked. You’ll need to cancel, lock the projects and re-run in this scenario
  4. Siebel will apply the changes required to your repository, setting the Default Insensitivity property
  5. Unlock all the projects, compile the SRF and run DDL sync

Easy as that! :)

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)

Build your own Siebel

I like to keep up to date on Siebel and other technology. To help me keep my skills in check, I have a full Siebel installation running on virtual machines on my home desktop:

I found this to be a very useful mini project that has taught me a lot about installation and configuration of Siebel applications, as well as it’s supporting technologies. Here’s a brief guide for anyone looking to do the same:

  1. If you’re a Microsoft shop, subscribe to Microsoft Technet. I’ve found this service invaluable. With a Technet subscription, you have access to a host of technologies that you can use free of charge, for evaluation and testing purposes. Windows 7, HyperV, Windows Server 2003/2008, Office 2010 are all available through a Technet subscription and will give you a great basis to start building your own infrastructure
  2. Download Siebel software from Oracle eDelivery. Again, this is free for evaluation purposes. SIA and SEA are now delivered together, so a single set of installation media for your platform choice will cover all options
  3. Download database software such as Oracle XE (free for personal use), Oracle 11gR2 (for evaluation purposes) or whichever database software you want to use, such as SQL Server or MySQL
  4. Download a virtualization solution. I use Windows Virtual PC with Windows 7 but you can use Virtual Server 2005, VMWare Server or any number of free products
  5. Create virtual machines for your database server, Siebel / Web Server, BIP Server and XP / Windows 7 clients
  6. Install your server OS on each of your VMs, taking care to apply Service Packs and patches up to the required level
  7. Initialise your database instance
  8. Install and patch the Siebel base software and set up the Gateway and Enterprise Servers (this will create an ODBC data source for the Database installation)
  9. Install the Database
  10. Configure the Siebel Gateway, Enterprise Server, Siebel Server and SWE components
  11. Install BIP and configure
  12. Install and patch Client and Tools on your client VMs – I like to keep an XP client available for testing as not everything works according to plan on Windows 7

You’ll find it a useful and satisfying learning experience to set up an entire enterprise. Feel free to post your experiences!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Reporting – Part 3 – Actuate to BIP Report Migration

With a running BIP Publisher server and tested integration, we can start looking at migrating Actuate reports to the BIP Publisher format.

Some key facts to recall from previous posts:

  1. Actuate uses COM to talk to Siebel. This means Report objects in Tools, .ROL files and ssiebel.bas
  2. BIP uses Web Services. This mean Integration Objects, SOAP messages and XML
  3. Actuate uses it’s own .ROD file format to store report definitions, designed in the Actuate eReport Designer application
  4. BIP uses a simple .RTF file format to represent reports designed in Microsoft Word, using the BI Publisher Desktop plug in

You are probably thinking at this point – Report Migration Tool. It’s true that Oracle have made available a migration tool through My Oracle Support (Patch ID 8968224). The tool will attempt to create IOs from your Report objects and .RTF files from your .ROD / .BAS files. In practice, I’ve found it to be buggy and the results less than satisfactory. The remainder of this post assumes you’ll want to re-do your reports manually but please feel free to give the tool a try and see if it works for you.

The steps for report migration involve migrating the data structure from Report objects to Integration Objects then migrating the report design from Actuate (ROD) to BIP (RTF). Let’s start with the data feed. Roughly, this translates to the following steps:

  1. Locate the Report object and note the underlying BC and fields
  2. In the corresponding View Report object, note the underlying BO. I realise that there can be more than one view associated with one report, and we’ll cover that scenario below.
  3. Create an Integration Object, using the Tools wizard, mapping from the BO, BC and fields of the Report object.
  4. If you want to use a Primary MVF, select the top level object in the wizard. If you want a repeating group across an MVL, select the child object in the wizard
  5. Check in and deploy to the server via Tools (Deploy to Runtime Database)
  6. Navigate to Site Map > Administration – BIP Reports > Sample Data File Generation and generate sample XML for your IOs

It’s essentially that simple: BIP will use this IO to pull data out of the object layer using EAI via a Web Service call.

Migrating the report design itself is a less straight forward process but still not overly complex. Here are the steps that I would suggest:

  1. Open your Actuate report design in eReport Designer. Not only can you view the report layout, you can drill down into the Data Stream to pick out any modifications in the fetch or layout code
  2. Open Word, go to Add Ins and check that the Oracle BI Publisher toolbar is visible
  3. Select the Data > Load XML Data menu to load the sample XML file that you generated previously
  4. Replicate your layout and design in the Word document
  5. Use the Insert > Field menu to add your field label placeholders into the report document
  6. Use the Repeating Group and Table Wizard menu items to create repeating groups for parent, child and grandchild relationships
  7. Use the BIP Publisher User Guide, installed in the Start Menu, to translate your Actuate code to BIP code
  8. Use Preview to see how the report looks and tweak appropriately
  9. When you are happy, use the Tools > Translate Template > Extract Text menu item to generate the .XLF file that Siebel requires
  10. Upload to Siebel via Report Template Registration, assign to a view via View Association and you’re done!

Clearly, I’ve vastly over simplified the steps to migrate any custom code and layout in your Actuate Reports. However, BIP has a powerful language construct that can be embedded in your documents to provide any custom functionality that you might have. Check the BIP user guide for more information.

Please feel free to post if there are specific steps that are troubling you or any particular functionality that you are trying to migrate across that is causing you grief.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Reporting – Part 2 – Server and App Configuration

Following on from our previous discussion around installing and setting up BIP, I thought I’d drop in a quick article to talk briefly about additional Siebel server and application configuration. We’ll start off with some useful information:

As you know, Actuate Reports were defined in Tools and associated directly with Views within the Repository: Report and View Report object types should be familiar. Tools generated a Report Library (ROL) file which would be incorporated into the Report Design (ROD) to feed data into the report. The View definition, along with the Report object definition, then allowed a user to select and run a report. Unsurprisingly, things are different in Siebel 8.1!

First of all, the only work done in Tools is to specify Integration Objects. That’s it. When it comes to deploying reports, things are a lot easier than before! Take a look at the Administration – BIP Reports screen: here you’ll find where to create new Report definitions (think Report objects in 7) and associate them to Views (thing View Report objects in 7). There are also views which allow you to generate sample data to assist with developing reports and a view to purge completed report items. The ‘Views’ view is self explanatory and is a lot nicer than the old Tools mechanism: associate the Report here and users will immediately see it in the ‘Reports’ icon menu.

An important view in this screen is the Report Template Registration screen. Once you have the server up and running, as per the previous post, this is where you’ll need to come to progress further.

Much like Actuate, BIP hold report designs independently of Siebel. In the case of BIP, RTF files represent the report designs. Having got everything else working, you must now populate the BIP repository with the standard Siebel Report Designs. From within this view, highlight the reports to upload and click the ‘Upload Files’ button. Log in to the BIP Portal and have a look under Shared Folders > SiebelCRMReports: you should see the report objects appearing here as they are uploaded from Siebel.

You should now be able to run vanilla reports from the Thin Client in Siebel 8.1: navigate to an appropriate view, click the ‘Reports’ icon and you’ll see available reports under the ——- BI Publisher Reports ——- header.

Common problems at this point again seem to relate to the Web Service definitions and configuration and the BIP Security Model config. See the previous post for a link to an article on MOS that covers these off. Also remember that the ‘XMLPReportServerxxx_xxxxxx’ log file is your friend!

As ever, please feel free to post about any issues you have or have resolved.

Next time, I’m going to look into report design within BIP and how to upload and execute custom reports.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Troubleshooting BIP Report Issues

A very quick post today to highlight a My Oracle Support article that should be your first port of call for diagnosing and resolving Siebel BIP problems:

Troubleshooting problems with the Siebel BI Publisher integration [ID 1051319.1]

I’d highly recommend that anyone looking to implement BIP, or migrate from Actuate, have this article to hand.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Reporting – Part 1 – Architecture and Installation

In the first of my Reporting articles, I’ll discuss some of the architectural changes that have taken place in the move from Actuate to BI Publisher (hereafter referred to as BIP). With Siebel 8.1.1.2 the recommended version of BIP is 10.1.3.4.1. You’ll need this if you want to use report scheduling from within Siebel.

Typically, the Actuate Report Server application server is hosted in a load balanced configuration, with one master server and one slave. Internal Actuate load balancing handled the shared encyclopedia and balancing of requests. Siebel required the configuration of a virtual host (rshost) , telling it where to find the Report Server, and a component parameter, Actuate Server Connect String, telling the component the Siebel connect string to use to connect to an Object Manager to retrieve data. As you may recall, Actuate uses the COM Data Server to pull data through the Business Object layer.

Things are not too different in BIP. Server setup is straightforward and load balancing and clustering can be configured. Refer to this Oracle document for more information. When it comes to actual installation, it is essential that you follow the updated installation guide in Siebel Bookshelf. The original 8.1.1 guide misses a number of critical set up steps. I have a customized, step by step installation guide to hand – please email me if you’d like a copy.

Configuration for Siebel is a little more complex. Siebel now has a dedicated ‘XMLP Report Server’ component which you’ll need to license, enable and configure. BIP exposes Web Services that allow requesting and scheduling of reports, while Siebel exposes Web Services to allow BIP to query and retrieve data through EAI. As such, various entry points and URLs must be configured. Again, steps are documented in Bookshelf, so I won’t list them here. Provided you following every step and subsection in the Reports Guide, you should not have any problems. Resist the temptation to stride ahead and skip a section!

A number of things to check if it doesn’t work first time:

  1. Check the PublicReportServiceService Outbound Web Service. I had a hard time with this as you actually have to create and deploy this as part of the installation. Double check that the Service Port is ‘PublicReportService_v11′ and that the ‘getReportParameters’ method is exposed. If not, you have the wrong version
  2. Check the BIPDataService and BIPSiebelSecurityWS inbound Web Services and ensure the WSDLs are deployed correctly to BIP
  3. Ensure you’ve created the new LOV and Responsibility values in Siebel to support BIP
  4. Verify the security settings in BIP, particularly the security model
  5. Check that the Siebel .jar files have been copied across to BIP
  6. Double check the XMLPJvmSubsys Enterprise Profile configuration, specifically the CLASSPATH parameter. This should include all of the Siebel .JAR files and should have a format for the appropriate platform – refer to bookshelf for Windows and UNIX specific configuration of this parameter

I’m conscious that I’ve not gone into a massive amount of detail around this area, but bookshelf and MOS combined should be enough to get things running. If you have any specific issues, please feel free to post.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Public Sector 8.2 Released

As we are currently heavily involved with a Siebel Public Sector client, I was interested to note the announcement of Siebel 8.2 for Public Sector. Being a major point release, going from 8.1.x, we’re expecting some interesting enhancements in this release. From the Oracle documentation:

  • Key focus on social services functionality
  • Enhanced Case Management functionality
  • Pre-built components to assist in citizen eligibility
  • Enhanced Server Provider functionality

This is good news for Public Sector Siebel customers and shows a continued commitment from Oracle to the future of Siebel and Siebel within the Public Sector industry. As soon as we get our hands on the update, I’ll post my experiences.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Actuate to BI Publisher

Having recently upgraded the Actuate reporting solution in a client’s 7.8 SIA implementation to 8.1.1.2, I thought I’d share my thoughts. The move from Actuate to BI Publisher (BIP) is not as terrifying as it may first appear, but there are some gotchas in there that you need to be prepared for. In the next series of articles, I’ll have a look into what has changed and what you need to do to succesfully migrate across to the new platform. Be aware that 8.1.1.2 has delivered a bunch of stuff around integration with BIP: if you’re looking to upgrade, 8.1.1.2 (or 8.2 if you’re Public Sector) is the way to go. Also be aware that Oracle has withdrawn support for the Actuate Report Adapter that they were offering with 8.1: it’s no longer available for download, so it’s going to have to be BIP all the way!

Here’s what I’m going to cover over the coming weeks:

  1. Architecture - what’s changed and how to set up BIP. We’ll briefly touch on high availability and load balancing, since you’re likely to be migrating within an HA production architecture anyway
  2. Application and Server Configuration – there’s a fair bit of setup involved in getting BIP working in your Siebel environment. A number of patches and MOS supplied SIFs will be required if you want to replicate some of the more complex functionality from previous versions. There’s also some configuration required around Web Services, authentication and Java class libraries. Be prepared to dig through bookshelf in conjunction with MOS and ad-hoc Oracle documentation updates
  3. Report Migration – moving from Actuate Report Design (.rod) files is not as tough as it may seem. Where Actuate used the COM control to pull data through the BO layer, BIP uses Web Services and Integration Objects to pull data through EAI. BIP also provides a number of features within it’s Word plugin tool to deliver comlex report content, with a Siebel provided Java library of functions topping off the tools to migrate reports

It can be a daunting prospect migrating to a different product, especially when you have something tightly integrated into your environment and business processes. On this site, we use calls to Actuate from Workflow to generate documentation as part of several different business processes. We had the ‘Report Business Service’ to help us in the old days, but Oracle have yet seen fit to provide equivalent functionality for BIP. However, later on we’ll see how to overcome these limitations and deliver like for like functionality.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

My Siebel Toolkit

Aside from Siebel Tools, I’ve found a number of useful applications that I use day to day to make my Siebel life easier. I thought I’d share this with you in the hope it helps you too:

  • Textpad – the text editor of choice. Whether it’s editing CFG files or perusing large log files, this is the tool to do it
  • soapUI – an excellent free tool to test Web Services. Essential when developing integration components
  • Microsoft Excel – now don’t laugh! Excel, connected to Siebel with the COM Data Control, can be a very powerful tool for simple data loading and automation
  • Siebel logging tool – I always find the first thing I put on my desktop at a new client site is a VB / C# COM logging tool. This is usually just a simple application to trigger Application().LogOn and so on. It makes debugging the Developer Web Client so much easier
  • Oracle SQL Developer – another free tool, this time from Oracle. An excellent SQL development environment with some useful administrative functions. I always recommend this over TOAD as it offers a very friendly environment but does not allow the user to wield too much power without understanding
  • HxD – a really simple, and free, hex editing and viewing tool. I’ve found this really useful in the past for analysing Oracle database backup dumps for corruption

Feel free to comment and let us know what’s in your Siebel Toolbox.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Inbound Web Service – Part 4 – Testing

Our Web Service is complete – now we can use soapUI to test it.

  1. First up, make sure everything is deployed:
    • SRF - compiled and deployed to the server
    • Workflow Process – Deployed through Tools and Activated through the Web Client. Double check that the Integration Object property has been set against the ‘SiebelMessage’ process property
    • Web Service – click the ‘Clear Cache’ button in the Inbound Web Services view to ensure Siebel can process incoming requests
  2. Launch soapUI and create a new project via File > New soapUI project
  3. Give the project a name of ‘My Siebel Web Service’ and browse for the WSDL file that we generated last time. Leave the ‘Create Requests’ checkbox as the only one checked for now
  4. In the navigator on the left you’ll see you project. Beneath that, you’ll see your Web Service and the ‘port’ that we exposed in Siebel – getCustomerDetails. Beneath that is a sample request called ‘Request 1′. Double click it
  5. soapUI will use the WSDL to construct a SOAP message in the format Siebel will expect. This includes a handy placeholder for the ‘CustNum’ input property. Populate this will a ROW_ID of a Contact from your server environment
  6. Click the green ‘Submit Request’ button in the top left of the window. soapUI will use the URL that you gave in the Web Service definition, as it’s now part of the WSDL. It will submit the package via HTTP to your Siebel Web Server
  7. On receipt, the SWE will pass the message contents on to the appropriate object manager for processing, returning the response back to the caller
  8. In the right side pane of soapUI, you should shortly see a response in the format defined in the IO that we created in Part 1!
    • If the response looks garbled, go to File > Preferences, HTTP Settings and uncheck ‘Accept compressed responses from hosts’

And that, as they say is that.

I hope you have enjoyed this series of articles and that you have learned a little about Web Services and their application in Siebel.

Next time, we’ll take a look at Outbound Web Services, where Siebel can be configured to consume functionality exposed through external applications.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Inbound Web Service – Part 3 – Web Service

Now that we have our IO and Workflow Process defined, we can look at exposing these through a Web Service. Luckily, Siebel has a number of functions that will allow us to do this quickly and easily!

  1. Having tested the Workflow Process that we created last time, check in the IO and Workflow Process. Compile and deploy an SRF and deploy the Workflow Process through Administration > Business Processes > Workflow Deployment
  2. Here comes the easy part! In Siebel Tools, connected to the Server data source, locate your Workflow Process, right click and select ‘Deploy As Web Service…’
  3. The ‘operation name’ is the ‘port’ that the external system will refer to. Think of this as a function name in a class or Business Service definition. Specify a value of ‘getCustomerDetails’
  4. The URL of the Web Service is the URL on which the external system will communicate with the Object Manager supporting the Workflow process. For example:
    • http://myhost/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1
    • Stick to this template for now – you can always change it later and we’ll see how to do so shortly
  5. Leave ‘Generate WSDL’ unchecked for now and click ‘Finish’
  6. Now log into the application thin client. Navigate to Site Map > Administration – Web Services > Inbound Web Services and query for ‘My Web Service Workflow’. Siebel will have set it all up for you, based on the properties of the Workflow Process
  7. In order to get things working quickly, make a few changes to the Service Port. Be sure to set the login details appropriately. This allows the external application to call the Web Service without having to supply authentication details:
    • Binding: SOAP_RPC_LITERAL
    • Address: http://myhost/eai_enu/start.swe?SWEExtSource=SecureWebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN
  8. Click the ‘Generate WSDL’ button and save the resulting file somewhere safe
  9. Click the ‘Clear Cache’ button, to force a referesh of Siebel’s Web Service cache – if you don’t do this, you’ll get an error when you try to call the Web Service

You have now created a Siebel Web Service that can be called remotely, from any machine with access to your Web Server.
In the next post, I’ll explain how to test this and see some useful results.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Inbound Web Service – Part 2 – Workflow Process

Having created our IO, we can now move on to the Workflow Process. We’ll use this to pull in the inputs, extract the data and map it into the IO.

  1. Start off by creating a new Workflow Process in the Project that we created last time. Call it ‘My Web Service Workflow’ and set the Business Object property to ‘Contact’
  2. Let’s set up some important Process Properties:
    • CustNum – In – String: this will act as our ‘input’ to the Web Service
    • SiebelMessage – Out – Integration Object: this will act as the ‘output’ of the Web Service
    • Setting the other Process Props to ‘None’ helps to keep things neat and tidy
  3. An important step here is to set the ‘Integration Object’ property of the ‘SiebelMessage’ property to ‘My Contact IO’. This will allow Siebel to work out the ‘output’ format when it generates the WSDL for our Web Service
  4. Edit the Workflow: drag Start, Business Service and End steps into the designer and link them up. If you have an exception handler Business Service, you can also add a Business Service step with an exception branch from the other. Link this up to the End step to complete the design:
  5. In the first Business Service, set the following properties:
  6. Set the input arguments as follows:
    • SearchSpec – Expression – “[Contact.Id] = ‘” + [&CustNum] + “‘” : This provides the search criteria for the query. In this case, we’re passing in the ‘ROW_ID’ as the CustNum. Note that Siebel evaluates the whole string as an expression, hence the quotes
    • OutputIntObjectName – Literal – My Contact IO : this tells the method how to retrieve and map the Contact fields to our output format
  7. Now set the output arguments:
    • SiebelMessage – Output Argument – SiebelMessage
  8. Test through the simulator by populating the ‘CustNum’ default string value with a ROW_ID from a Contact in your environment. By enabling the ‘Watch’ window you should see a fully populated ‘SiebelMessage’ with the contact details that we’re looking for

Our next step is to expose this Workflow through a Web Service, which will allow our external application to push in a Contact ROW_ID and pull back the name and address details.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Inbound Web Service – Part 1 – Integration Object

To begin creating our Inbound Web Service, let’s first recall what that means: we’re going to expose some function of Siebel for an external client to access. There are two basic entities that we can expose externally: Workflow Processes and Business Services. Siebel Tools offers some really helpful functions to expose Workflows so we’ll take that for our example.

Let’s consider this requirement:

An external Web Site retrieves a unique Customer reference from an end user. Knowing nothing of the customer, the external system will look up the Customers name and address in Siebel.

We’ll create a Web Service to achieve just this.

First of all, consider the components we mentioned in the last post:

  1. Integration Object – this is important as it defines what data we’ll pull from the Siebel BCs and how it will be presented in XML
  2. Data Map – this is useful, but not essential: if we want to map and transform data, we can put a DataMap step in the Workflow to achieve this, using a defined Data Map object. We won’t do this in the example.
  3. Workflow Process – we’ll create a Workflow to read in our inputs, pull out our outputs and handle any exceptions. This will also form the basis for our Web Service
  4. Inbound Web Service – we’ll get Siebel to create this for us and this will allow us to generate our WSDL file that we can deploy to our external system

In the next four posts, I’ll cover off these items culminating in testing our new Web Service. Today, we’ll start off by creating a new Integration Object.

Let’s start by creating a new project in Tools called My Web Service and lock it. Then follow these steps to build the components:

  1. Select the ‘File > New Object’ menu item, select the ‘EAI’ tab and select the ‘Integration Object’ item
  2. Select your Project then select the ‘EAI Siebel Wizard’
  3. We’re returning Contact details so select the ‘Contact’ BO and ‘Contact’ BC from the drop down lists. Let’s call the new IO ‘My Contact IO’
  4. You’ll see a number of relationships returned, but we’re only interested in name and address details, so uncheck everything except for the top level ‘Contact’ and ‘Contact_Personal_Address’ objects
  5. Once the process is complete, your new IO will be brought to focus in Tools. Expand it fully and you will see we have created basic mappings for all Contact and Personal Address fields. Tools has even specified XML tags for each field and relationship, so you don’t have to.
  6. We don’t need all these fields returned, so inactivate all Integration Component Fields in Contact except for:
    • Id
    • First Name
    • Last Name
    And for the purpose of maintaining the user keys:
    • Account Integration Id
    • Employee Number
    • Personal Contact
    • Person UId
    • Personal Contact
    • Primary Organization
  7. Use the ‘Edit > Change Records’ menu item to do this quickly.

  8. Personal Address has a far more manageable number of fields, so leave that as it is.

We now have the basis for the extracting of information from our Contact BC into a format that can be mapped directly into the XML of our SOAP message. This is a major stepping stone to completing our Web Service.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel Web Services

A recent requirement at one of our clients saw the need to dig deep into the realms of integration and Web Services. It’s one of those concepts that is big in the business and shrouded in mystery and complexity. With a bit of reading and a bit of practical application, it really isn’t that difficult and you will find it a useful and rewarding technology to master. I thought I’d start with a quick run down of concepts then move on to an example or two over the coming weeks.

First up, head on down to w3schools.com and run through their Web Services Tutorial. Here, you’ll begin to see that the concepts around Web Services – XML, SOAP and WSDL – really aren’t that complex at all and are quite logical. With a bit of XML and HTML know-how, it should all start to make a great deal of sense. To me, this was the major step in demystifying the technology and made me realise that it was within my ability to master.

When we start applying these principals to Siebel, there are a number key components that tie in with the basic WS concepts:

  • Integration Objects – meta data representing the structure of the entities that we will be passing around. XML in the SOAP payload will follow the structures we define in the IOs
  • Data Maps – A wonderful Siebel 7 component that allows mapping from the external IO to the internal IO. Simple expressions are supported to allow some quite complex transformations that would have taken a Business Service and eScript to achieve in earlier versions
  • Web Services – Provide the description of the Web Service that we’re consuming or exposing – these tie in nicely with the WSDL component mentioned above and are key to defining and describing the function we’re exposing or executing. Inbound Web Services expose functionality within Siebel to an external party. Outbound Web Services consume some functionality exposed through an external application
  • Workflow Processes – These provide the glue to chain together the components of both Inbound and Outbound Web Services and should already be familiar to most Siebel developers

Siebel provides a host of tools to help develop these components automatically to create both inbound and outbound Web Services. You’ll be amazed at what you can achieve using out of the box functionality and some basic Tools configuration.

A final tip to end this post: download a copy of SOAP UI. This is a simple, free utility that you will find invaluable when testing your Web Services. Download it now and we’ll see how to use it in the posts to come.

In the next post, we’ll create an Inbound Web Service that will allow an external application to grab data out of Siebel over the web. You’ll see how the ‘Deploy as Web Service’ option in Tools makes this really, really easy!

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Siebel 7.8 Upgrade Woes

We recently upgraded one of our clients from 7.8.2.4 SIA to 7.8.2.8 SIA. There were a number of reasons for doing this, the main one being support for IE 7 which was being deployed throughout the organisation. We were also looking forward to some bug fixes and perhaps a performance tweak here and there as well as stability on the new browser platform.

Alas, no such luck.

Within a week of deployment, we had notched up around 8 internal help desk calls resulting in 6 My Oracle Support Service Requests – all defects introduced by the patch release. It was terrible: far from delivering stability to the users, as we’d expected with the move to IE7 in addition to the patch, we ended up delivering a host of usability problems.

We’d run a full regression test pack with positive results, treating the patch as any other code release. The problems that we found were with core Siebel functionality that we just did not include in the regression test pack. Create a new record and want to undo? Not with patch 8 you can’t – the ‘Undo Record’ functionality was accidentally disabled. Want to run Product Configurator? Sorry, it’s broken – some Repository changes and a new SRF will fix that, so another Production outage required for deployment.

The list goes on and has only just started to shrink with the release of 7.8.2.13 into Production – not without it’s own problems, but I won’t get in to that now.

It should not be like this and Oracle really seem to be letting the Siebel quality control slip. I’d like to think that Tom Siebel would have been mortified by a patch release that broke fundamental functionality. We find it worrying for the Siebel community as a whole if this trend of buggy releases persists.

What are your experiences of patching Siebel? Have you noticed any change in the quality of service since Oracle took over?

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Talend Open Studio and EIM

I discovered an amazing Open Source ETL tool the other day called Talend Open Studio. We’re working on a mini project at the moment to bring Contact and Account data in from Excel spreadsheets and thought this a good chance to try it out.

The tool itself is very intuitive, being based on the well proven Eclipse platform and offers a drag and drop graphical interface for constructing business processes and jobs.

It’s perfectly suited to loading EIM tables: simply set up source and destination metadata (data source) entries for your input data and Siebel database then bring in the EIM schemas for the destination tables that you’re interested in. A number of components can be dragged and linked between the two to do any number of mapping and transformation steps. If you’re familiar with Actuate in the Siebel context, you’ll have a real head start as the concept of ‘rows’ and their flow through the components is key. A little sample of one of the jobs I’m currently working on is below:

Projects can be created in both Java and Perl flavours: Java being somewhat more familiar to me but Perl sneaks ahead with performance and general scalability. A limitation in Java prevents overly complex jobs which made Perl the only choice on this occasion. Mapping expressions can be used, in the language of your choosing, to perform all sorts of complex transformations. You can even create your own functions and components, if you need to do something particular fancy. I found the mapping component (tMap) pretty much suited to everything I needed on this occasion.

I suggest downloading a copy, setting up a local test project and having a mess about – I’d be really interested to hear from anyone who finds the tool useful. I’m considering developing a suit of Siebel components – the tool currently supports Sugar CRM, SAP and a number of others out of the box – and a community approach to this would be excellent.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)