After years of plugging away at my C# / Siebel experiment, I think it’s time to call it a day. I enjoyed working on the Repository Analyser mainly as an educational experiment for myself but also as a tool to help others. I’ve learned all I can from it and it’s time to move on to something else.
Siebel Repository Analyser C# Code
As such, from today the Repository Analyser source code is now available in a public Github project that you are free to use, modify and defile at your own risk.
I will no longer be enhancing the tool but will continue to support existing users via the forums.
Thanks to all who supported the development of the software.
I’m still enjoying messing around with C# and Siebel at the moment. Today, I created a tool to analyse the quantity of Browser and Server Script across objects in the Siebel Repository. The tool uses the Siebel COM Data Control to connect directly to a Siebel Server Object Manager – much better than messing around with Dedicated Web Clients! The tool uses the Repository Business Components themselves to analyse the Repository content – there is no direct SQL involved here at all. The idea will be to build this in to a multi purpose analysis tool, that will do more than just count lines of code. Functionality such as performance analysis, memory leak monitoring and exception checking are all in the pipeline.
Anyway, for now I’ve made the tool available for download here. I’m in the process of cleaning up the source code and, as soon as I’m done, I’ll make this available too.
I’d be very interested to hear from readers as to the volumes of script in their implementation. A prize is up for grabs for the first to post evidence of a ‘zero script’ implementation – I’m that confident that no such thing exists! 🙂
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 and the full source code can be found 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.
I’ve been messing around with Visual C# 2010 Express. Say what you like about Microsoft, but their tools are awesome and freely available. I’d highly recommend you download and install it, if you fancy learning a new language such as C#.
As a little project to get me started, I designed and developed a simple tool to parse a Siebel log file, extracting SQL performance information and presenting it in a useful manner. The tool relies on the logs having been generated with appropriate SQL event log levels or using SIEBEL_LOG_EVENTS=4 in the Dedicated Web Client.
The tool uses two fantastic, freely available, open source controls that I found through the Code Project and Stack Overflow:
My thanks go out to the authors of these tools for their amazing work and for making their code available to all.
You can download the tool and the source code here – you’ll need Visual Studio C# 2010 Express Edition or better to compile the source.
The code is distributed under the GNU General Public License.
Any comments or defect reports, please feel free to post below.