Fog Creek Software
Discussion Board




Lots more, tell me why.

I read there are sometimes requirements wherein third party vendors are called to integrate, say, an existing CRM with an order management system. Clarified, all of this is for academic purpose. I read this on the Web and also from a white paper from the Yankee Group (http://www.netsuite.com).

The question is, how are ERP softwares deployed? Are the database they are shipped with transparent for any other software vendor to start modifying them? Cor, what a wierd question this is. Databases are not compiled binaries, I know, but, I mean can anyone just do anything to their databases? If not, how else could a third party vendor make an integration to link their own application with an existing ERP suite? For eg. An ERP system, say, that caters to the marketing and distribution aspects of a CRM application has a customer table. I am creating an online order management system that must integrate with the existing CRM package. I _must_ know the structure of the customer table and related tables in order to fetch a customer id and work on it. I might want to create another table called Customer_History with two fields:

Customer ID (Int)
Customer History (NText)

Unless I already know the name of the field that stores the customer id in the customer master table in the CRM suite, how would I integrate my own table with the existing suite?

Sathyaish Chakravarthy
Sunday, May 09, 2004

If you look at http://www.peoplesoft.com/corp/en/products/ent/tools_tech/platforms/index.jsp for example, you'll see that they're not using a proprietary database: instead they're using standard SQL databases such as DB2, Oracle, MS SQL, etc.

Because it's a general-purpose database you (the DB administrator or programmer) can use the database's tools to discover the DB schema (the list of tables that the CRM created in the DB when the CRM was installed, the names of fields within each table, etc.).

In addition, I think it likely (based on my experience with call center software) that the CRM package has SDKs and/or whitepapers that explain to 3rd parties how to write specific types of add-on that integrate with the CRM.

Christopher Wells
Sunday, May 09, 2004

Chris is correct. Most commercial apps, including large accounting and financial apps will use off the shelf databases to store data. Hell, even the daddy of ERPs, SAP have opensourced their database!

"Unless I already know the name of the field that stores the customer id in the customer master table in the CRM suite, how would I integrate my own table with the existing suite?"

As Chris said, in a lot of cases, there are white papers, and developers kits for accessing this data. In a lot of cases too, this information does not exist, hence the stupid money it costs for a lot of middleware development. Try reverse engineering a database where all the table names are numbers!

Tapiwa
Sunday, May 09, 2004

Thanks, Chris and Tapiwa. Tapiwa, what do you mean when you say, "Try reverse engineering a database where all the table names are numbers!"?

Sathyaish Chakravarthy
Monday, May 10, 2004

You have data from application X in a database. You need to use the data in application Y.

Your source code and documentation is the database itself. No schema, no nothing. All the table names are numbers; 1, 2, 3, etc....

imagine trying to figure out a program that used numbers, or Klingon variable and class names.

It makes sense to the original designer, or if you have a lookup/translation table.

In the absence of this, get a bible, a bottle of whisky and a gun. Which of the three you will use depends on the complexity, and your disposition.

Tapiwa
Tuesday, May 11, 2004

*  Recent Topics

*  Fog Creek Home