ImprovedSolutions.com Homepage
ImprovedSolutions.com HomepageContact Us
Configuration Programming Integration Support Resumes


Integration


Integration is one of the most difficult aspects of any enterprise software implementation. Many times it is beneficial to think of integrations with external systems as their own projects, somewhat separate from the main Siebel implementation. Siebel works in a very systematic and mostly predictable way. When you introduce external systems, there is a great deal of variability. It is difficult to know ahead of time what exactly will be involved in integrating external systems with Siebel, thus time scheduling is usually very difficult.

Improved Solutions specializes in the integration of external systems with Siebel. We have 9 years of experience integrating enterprise applications with Siebel. With nearly every release, Siebel provides new pieces to their integration architecture. There are now a number of ways to integrate just about any system with Siebel. Improved Solutions stays on top of all additions to the product in this area so that we can advise you on what may be the best method for any given situation. Whether it involves something as simple as launching a new browser window from a button click or something as complex as keeping a multi-million record website database in sync with your Siebel data, we are confident that we can provide you with a top-notch integration.

We break down Siebel integrations into two broad areas:

Packaged Integrations
Custom Integrations



Packaged Integrations

Packaged integrations are those that other companies have already implemented and are now sold as a separate product or bundled with an existing product. For example, a company may have a legacy access middleware product used for accessing mainframe data. Since it is often beneficial to make this data available through the modern Siebel user interface, they may decide to integrate their product with Siebel. The integration may take many forms. It may involve simply creating examples of how to use their existing APIs in the Siebel architecture, or it may involve custom programming by the company to directly interact with Siebel.

In order to get the Siebel stamp of approval, the company must first become a Siebel Software Alliance Partner. Once the integration is complete, the company will validate their integration through the Siebel Validation Program. This program ensures that the integration is technically stable, providing peace of mind to customers that they can count on the integration to perform as stated.

The company may then bundle this integration along with their base product. Customers who need legacy access in their Siebel implementation will purchase the middleware product and follow the instructions and examples in order to develop their particular integration between Siebel and the middleware product. Since there is already a framework in place and the customer is buying a specialized product to access their legacy data, the time needed for the integration is typically much less than if they were to create an integration from scratch.



Custom Integrations

Custom integrations are those that involve the creation of an integration that is (usually) completely new. In many cases, there may not be 3rd party products available to assist with an integration. Or, in some cases, depending on the scope of the integration, it may not be economically feasible to purchase an expensive 3rd party product. It may even happen that an integration is so complex that it requires the use of multiple 3rd party products, mixed together in an entirely unique manner. In these situations, a custom integration must be designed and then implemented.

For example, a Siebel customer may have a website where people can enroll as members in various programs offered by the customer. The customer may have a Siebel Call Center implementation to handle questions via e-mail and telephone calls from these members. In order to effectively service these members, it is beneficial to see the member information in Siebel that the members entered through the website. Due to the fact that a member may register and contact the customer company in the same day, a real-time synchronization of the data in the two systems (Siebel and the website) may be necessary. Even if a nightly batch process is sufficient, Siebel's Enterprise Integration Manager (EIM) may not be appropriate if certain business rules must be adhered to while data enters the Siebel database. The website may be a custom solution itself, or it may be a packaged solution that has not previously been integrated with Siebel.

In this case, a custom integration is the only viable solution. This integration may be accomplished in many ways due to the variety of options available in Siebel for integrating external systems. However, the website may run in a very constrained architecture that dictates only a certain type of integration will work. For instance, if the website is supported by a Java-based application server, then it would probably work best to use a Java-based interface into Siebel. Of course, data may need to flow in both directions, and the website may allow for a variety of ways to bring data into its database. It may be possible to update the website database directly through SQL, or it may require (just as Siebel does) that all updates are done through the application server's APIs.

As evidenced by this example, there is often more than one way to accomplish a custom integration. Many variables must be considered, such as technical availability, business needs, scalability, maintainability, time to completion and others. The more unique a custom integration is, the more difficult it is to forecast. The best you can hope for is that the designers and implementers have enough experience in other disparate situations that they can apply general knowledge to your situation in order to provide you with a well balanced and well thought out solution. Beware of marketing hype and sales pitches. Such tactics may sell products and acquire accounts, but they will provide you with little help when it comes to actually making an integration work.



Details

It is beyond the scope of this page to examine, in detail, each mechanism available for integrating Siebel with external systems. Siebel supports the following technologies that are often used for integration:

COM/ActiveX (inbound and outbound)
Java (primarily inbound)
CORBA (inbound and outbound)
XML (inbound and outbound)



EIM

EIM is Siebel's batch oriented, data loading and data export tool. Due to its lack of business rules processing, and the fact that it is batch oriented, not real-time, we prefer using other mechanisms for integrating Siebel with external systems. In some instances, however, where extreme performance is an issue, EIM may be the best choice for putting data into or bringing data out of Siebel.



Virtual Business Components (VBCs)

To copy data or not to copy data, that is the question. We come across companies all the time that believe they must copy data from an external system into Siebel in order to see that data in the Siebel UI. The fact is, there have been supported methods to do this (that don't require copying the data) since Siebel 99. Siebel 99 allowed for the use of ActiveX controls, placed on Siebel applets at design time, that could then display any data that Siebel VB programming could acquire from an external source. Although ActiveX controls are still supported, Siebel 2000 introduced a new method that has become the preferred way to do this.

Virtual Business Components (VBCs) are specifically designed to allow you to display your external data in the native Siebel UI elements, right alongside your true Siebel data. As long as you have some way to access your external data via Siebel VB or Siebel eScript, and as long as you have some way of associating the external data with the Siebel data, you do not have to import external data into your Siebel database.

Improved Solutions highly recommends that companies consider whether VBCs can be used before thinking about other integration methods. It is even possible to import a small amount of data and use VBCs to view and/or modify the rest of the data. The only time in which external data must be imported is if the external data and the Siebel data must appear on the same applet. There are even ways around this limitation, but they are not recommended by Siebel, so other methods should be attempted first. It may also be advantageous to import external data into Siebel if a large amount of that data will regularly be processed by Siebel. Data retrieved from the Siebel database will typically provide better performance in these situations.

Why do we recommend using VBCs instead of copying data into Siebel? Here are just a few reasons:

  • The data will always be up-to-date, because it is being retrieved from the source on-the-fly, in real-time.


  • The work needed to implement VBCs is far less than the work typically needed to program a different form of integration. VBCs are also more easy to maintain later in the life of the implementation.


  • Sometimes there is so much external data, that adding that much data to the Siebel database would introduce performance problems for Siebel. Especially in the case where the Siebel database runs on limited hardware and the external database is driven by high-performance hardware, you may actually achieve better overall performance by using VBCs rather than having all the external data copied into the Siebel database.


  • It is much easier to update external data through a VBC than through some other integration methods. Why? Because with batch oriented integrations, there is no easy way to know exactly which data elements have been changed. Either you have to compare all the Siebel data with the external data before the update to find which elements have been changed, or you have to update even those elements that haven't been changed in Siebel. You also have to deal with the fact that the external data may have been changed in Siebel and in the external system. If this can happen, and if you need to make sure as many of the changes are propagated across systems as possible, you have to create an advanced time stamping system at the field level. This can get complex quickly. With VBCs, the chances that the data will be changed in the external system between the time a Siebel client user views and modifies the data are minimal. And if that does happen, you can notify the user, load the new external data, and have them make their changes again. You may even be able to lock the external record when the user views the external data so that the external system can't make changes until the Siebel user is finished.

Please understand that the code behind the VBCs may still be very complex and may be very similar to the programming required using other integration methods where data is copied into the Siebel database. VBCs are not going to magically let you access your external data without programming. What they will do is typically lessen the total amount of programming needed and reduce the work required, both by your development team and by the systems involved.



Please contact Improved Solutions if you have detailed integration questions.


Configuration | Programming | Integration | Support | Resumes
Home | Contact Us

© Copyright 2002 - 2007 | Improved Solutions | All rights reserved