Siebel Spooler in C#

A comment from Ranjith prompted me to dig out an old application that I wrote a long while back. It uses the Siebel Mobile Web Client Automation Server control to allow you to dynamically enable and disable spooling from the active Dedicated Web Client session.

SQL Tagging, as provided in Siebel 8, kind of negates some of the need for this type of tool as it’s now pretty easy to see where dodgy SQL is being generated. However, it’s still useful for determining memory leak type issues and the source will also go some way to demonstrating how to use COM from within C# to attach to a running Dedicated Web Client instance.

It really is as simple as including a reference to siebel.exe and then using:

TWSiebelLib.SiebelWebApplication siebelApp = new TWSiebelLib.SiebelWebApplication();

The tool can be found here and the full source code here. You’ll need to run the tool ‘As Administrator’ in order to connect to the Siebel application. You’ll need to do the same with the Visual Studio shortcut too, if you wish to debug the code. Finally, you’ll need to download the Microsoft API Code Pack for Visual Studio if you want to compile the code.

As usual, the source is being distributed under the GNU General Public License.

Please feel free to comment below.

VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)

Siebel Configuration Management

I’ve noticed, on a number of projects now, that Siebel Configuration, Release and Environments Management isn’t always at the top of project managers lists. This is especially true if the development work is behind schedule.

All of these areas are critical to the success of a Siebel project.

Configuration Management

The Repository based object control within Siebel is not ideal – not least due to the lack of any object versioning within the Repository tables or Siebel Tools. However, this doesn’t mean it is not possible to apply sensible and useful configuration management processes. For example:

  • Version Control Integration

Siebel Tools does provide loose integration with version control systems via a batch file. I’ve used this, with a degree of success, with VSS, Subversion and CM Synergy to control object level SIF files. One programme I know even developed an automated build tool that would compile an SRF using specific build identified SIF files using task based work packages defined in CM Synergy. Note that configuration management plays a key role in managing the merge process, if you elect to maintain multiple code streams; for example, for long term change and short term emergency fix.

  • Non Repository Version Control

Using ‘Export as XML’ or ADM will allow you to control and manage a large number of non-repository objects, such as Run Time Events, Personalisation, SmartScripts and so on. Client tools such as Tortoise SVN or CM Synergy allow these to be treated and managed as any other source code would be. Though clunky, I’ve also found manual ‘Release Notes’ to be a very useful tool in managing small releases of non-repository items. The release note can, and should, be used to tie the pieces together whether using VC integration or otherwise. That is, every release should be accompanied by a Release Note which details the steps, objects and versions required to build and deploy the release.

Environment Management

Having appropriate systems and environments in place to allow development, testing and release to Production is vital to delivering a project. This also plays a key role in the continued development and maintance of Siebel systems. Consider at least a development, system test and a ‘Production Like’ environment, in addition to Production, to allow for adequate unit, integration, UAT / OAT / PEN / Performance testing. For maintenance, you’ll want to consider a secondary development environment to support a parallel ‘emergency fix’ code stream, along with a seperate testing environment for this purpose. If you are implementing integration technologies across other systems, you may want to consider equivalent systems across environments for these too. It’s common, however, to share physical resources for the less performance critical systems in the environment. You will also want to set up automated nightly SRF builds and deployments in at least your main Development environment, while encouraging your developers to perform SRF refreshes and incremental Tools ‘gets’ first thing each morning.

Release Management

Siebel deployments range from simple reference data changes to full releases involving SRF, Repository, DDL, non-repository items, patch sets and infrastructure changes and upgrades. Do not underestimate the effort and risk involves in doing a release. The concepts described above feed directly into this, allowing you to prove your code release, be it a combination of SRF, Repository and Release Note, using the environments that you’ve flagged as your route to Production. Thoroughly unit tested code will mean nothing if you do not deploy the same code to the Production environment!

I’d be really interested to hear your stories or comments around your experience with managing Siebel code, especially from those who have implemented automated build and deployment toolsets.

VN:F [1.9.17_1161]
Rating: 10.0/10 (1 vote cast)

Siebel 8.2.2 – First Impressions

Well, I’ve downloaded 8.2.2 Public Sector from eDelivery and unzipped all I need. Here’s a quick summary of what I’ve found so far!

ImageCreator – no more!

Unzipping all the JAR files into a single location left me a bit confused. Where’s ImageCreator.exe? No more, from what I can see! There’s a wee batch file called ‘snic.bat’ that does the job instead. Simply open a command prompt, set JAVA_HOME and run snic.bat. Behold, the new face of ImageCreator:

ImageCreator – but not as you know it

First thing to note – it works great in Windows 7 64-bit! WOO HOO! Thank you Oracle! :)

All the familiar options are there, so I opt to create installers for the Siebel Enterprise, Tools, Web Client and SWE. English language picked, it creates the installers. Simple, awesome, it works. Hurrah!

Installation

That done, I have two freshly created Windows 2008 R2 VMs ready to roll – one for the App Server / SWE and one for the database. I’ve taken the liberty of installing Oracle 11g in preparation – I hope you don’t mind! I’ve also set aside a Windows 7 64-bit VM for Siebel Client and Tools installations, with the 11g client already installed.

So, the installations. Are they now supported on Windows Server 2008? Well… Yes! The installation process for Server components now follows the OUI method of the Client and Tools installers for 8.1:

Familiar installer

Cool! Much better than the old 8.1 installers. Working great in 64-bit 2008 R2 too – no complaints about incompatibility!

Configuration

Launching the config shortcuts reveals a make over of the configuration wizards, in keeping with the installer look and feel. Everything works as before but it’s much cleaner and much more compatible.

Clean and compatible configuration

Initial Gateway Configuration failed and I don’t know why. You’ll notice that the file system structure of the installation looks very ‘Oracle’ like and far less ‘Siebel’ like – the configuration log files reside in a ‘cfgtools’ folder though I could find no error to speak of in any of the files. I was unable to uninstall the Gateway too – again, no trace of an error in the log files but the configuration wizard refused to complete successfully. Enterprise configuration ran without a hitch.

It’s at this point I will mention that the ODBC datasource for the Enterprise was created in the 32-bit subsystem. That is, checking in the registry (or through the SysWOW version of odbcad32.exe), you’ll see the ODBC entries in the WOW (Windows in Windows – the 32-bit subsystem supporting 32-bit apps in 64-bit Windows) area. This is a disappointment and certainly suggests no native 64-bit support. Checking the binaries in starting the Siebel Server and Gateway, I can see quite clearly that they are running in the 32-bit subsystem so are most certainly not native 64-bit. :(

GRANTUSR.SQL has received a well deserved make over – a far larger script prompts for more detailed information, performs more checks and is generally easier and safer to use. Excellent stuff.

SWE installation still does not support IIS 7.5 natively and requires the IIS 6 metabase compatibility to be enabled.

The rest of the configuration of the Database Server, Siebel Server and SWE are much the same as before.

Tools and Web Client

Familiar installation dialogs for Tools and Web Client. The only addition is the ability to sign up for Oracle updates, in line with newer Oracle product installations. Windows 7 is now seen as a supported OS, so no compatibility problems this time around. Nice!

Finally, support for Windows 7

 No problems with regsrvr hanging on the Client installation but the installer has crashed at 100% – ‘Updating registry key … AutoStartOnDisconnect’. I’ve had to kill it. :( Running again ‘As Administator’ seemed to get around this – still not great, thought. I want to be able to install client software without faffing around with UAC.

I’ve had to stop here – the ‘All Inclusive’ keys on the the Oracle License Key page are yet to include 8.2.2 keys, so I can’t go any further.

I’ll post again when I get chance to investigate some of the functional and technical changes present in 8.2.2.

VN:F [1.9.17_1161]
Rating: 9.3/10 (3 votes cast)

Siebel 8.2.2 Released via eDelivery

I’ve just noticed that Siebel 8.2.2 Public Sector is now available on eDelivery – under ‘Windows 64-bit’ no less!

Does this mean full 64-bit support for Siebel Servers?! Can we finally say goodbye to 3.2 GiB and PAE? I wonder what other, exciting features we can expect to see!

Am downloading now with update to follow – stay tuned! :)

VN:F [1.9.17_1161]
Rating: 8.0/10 (2 votes cast)

Siebel and Windows 7 – UPDATED

I’ve recently rebuilt my laptop and a number of VMs, all running Siebel 7.8 and 8.1 on Windows 7. Once again, I was faced with the horror of getting ImageCreator, Universal Installer and Siebel running in a Windows 7 environment. I threw in Windows 7 64-bit as well, just to make things interesting.

As a result, I’ve discovered a few shortcuts to getting everything installed and working with minimal fuss – I’d like to share this with you. By the way, the photo in the screenshot below is of our beautiful daughter Emily – I couldn’t resist including it! :)

Don’t forget to check out MOS Article ID 796015.1 and make sure you’re using the version that Oracle has certified on Internet Explorer 8 – Windows 7 comes with IE8 hotwired in and no support for IE7.

ImageCreator

ImageCreator STILL does not work properly in Windows 7, even with the latest Siebel builds (8.1.1.5). To work around this in Windows 7, follow this excellent post from @lex in his Siebel Essentials Blog:

  1. Run: Windows_ImageCreator.exe -is:javaconsole -console
  2. Follow the prompts to build your installers

Install Siebel

The Siebel installers, surprisingly, STILL don’t support Windows 7. Who would have thought.

  1. First up, enable the Administrator account in Windows 7 by clicking Start, type CMD and right click CMD.EXE and ‘Run As Administrator’
  2. Run the following command: net user administrator /active:yes
  3. Restart your machine
  4. Login as user ‘Administrator’
  5. Run the installation via setup.bat as this user and you’ll get none and the grief that you had before. You’ll have to ‘ignore’ the checks on OS version that OUI tells you about
  6. This should work for both Tools and Web Client

Running Siebel Tools

Bless my barnacles, Siebel Tools almost kind of works out of the box with Windows 7! ODBC specific stuff below applies, though.

Tools will run just fine as long as you:

  1. Right click the Tools Shortcut and ‘Run As Administrator’ first time you use it. This lets it write some junk to the registry. After that, you’re good

Running Siebel Web Client

The Web Client – would you Adam and Eve it – doesn’t really support Windows 7. At least, you’ll have trouble with IE8 and I’d suggest putting off installing IE9 for now (and ever):

  1. Edit the Web Client .cfg file for the application you’re working with and edit as follows:

    EnableFQDN = FALSE

  2. In Internet Settings, add ‘http://localhost’ as an ‘Intranet’ site. Make sure the security settings for this zone let you do pretty much whatever with Active X controls – this lets the HIFO get in there. Refer to Article ID 1066053.1 on My Oracle Support
  3. If you’re using 64-bit Windows, add the following to your Web Client shortcut (or in the Debug properties in Tools). This ensures that the 32-bit version of IE is in use:

    /d Local /b “C:\Program Files (x86)\Internet Explorer\iexplore.exe”

  4. Finally, if you need to amend ODBC settings on 64-bit Windows, don’t forget to use the 32-bit ODBC administrator. The 32-bit Siebel executable will look here, not what you see in the 64-bit ODBC settings:

    C:\Windows\SysWoW64\odbcad32.exe

That’s it! Try it, post and let’s discuss.

VN:F [1.9.17_1161]
Rating: 9.0/10 (1 vote cast)