Methods to Import into AwareIM

If you have questions or if you want to share your opinion about Aware IM post your message on this forum
Post Reply
denisv
Posts: 253
Joined: Thu Jan 19, 2006 4:36 pm
Location: Ireland
Contact:

Methods to Import into AwareIM

Post by denisv »

We currently have two database applications which exchange data on a batched basis using another application. I know you can import and export to Aware using it's own method, is it possible for another application to write to the underlying table in a scheduled manner.
aware_support
Posts: 7523
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

If you know what you are doing you can access Aware IM database tables directly bypassing Aware IM (there is one issue with Derby database here - if you want to do it with Derby you have to shutdown Aware IM first, because Derby allows only one application to connect to it).

Mapping between database table and column names and business objects/attributes is fairly straightforward - you can study SQL tab of a query in the Configuration Tool for hints. Let us know if you want more detailed info on this.

Another option is to let Aware IM do it - you can define a service in Aware IM that imports or exports the data. Aware IM will automatically create a SOAP-based web service that can be called by another application.
Aware IM Support Team
denisv
Posts: 253
Joined: Thu Jan 19, 2006 4:36 pm
Location: Ireland
Contact:

Post by denisv »

Thanks.

Unfortunately when I was installing the eval it would not work with SQL and MySQL and rather than work on resolving that I wanted to study the app in the knowledge that the other could be solved. This means visibility of the schema is a problem.

If I have a business object called Visits and my 3rd part app has all necessary fields to map into aware, you're indicating I should be ok. Is there any hidden field / column that aware uses when it creates a row in the object that I would not see in the application and would also need to be populated some how ?

I have an app that sycnhronises directly with an any ODBC database so if the above is possible then I wouldn't need th intermediary data exchange application or an import service in Aware.
aware_support
Posts: 7523
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

>>This means visibility of the schema is a problem.

The schema is this:

1) Table name consists of a business space name and business object name separated by underscore, for example Library_Member
2) Column names are the same as attribute names except for reference attributes and attributes of Document and Picture types which are handled in a special way
3) There is one special column in each table called ID - it contains a unique ID of every record in Aware IM (generated by Aware IM automatically).

Please send an e-mail to [email protected] if you want more details on how references, Document and Picture attributes are handled as well as how ID is generated.

By the way, there is a tool in Derby that lets you print out a schema. Again let us know if you need it.

>>Is there any hidden field / column that aware uses when it creates a row in the object that I would not see in the application and would also need to be populated some how

The only "hidden fields" are ID and fields related to references, documents and pictures.

Best Regards,
Aware IM Support Team
aware_support
Posts: 7523
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

By the way, another possible option is to have a scheduled rule in Aware IM that would periodically IMPORT FROM the batched data exchange file that the other application would export. In this case you will use Aware IM but you won't need to define a service.
Aware IM Support Team
denisv
Posts: 253
Joined: Thu Jan 19, 2006 4:36 pm
Location: Ireland
Contact:

Post by denisv »

Thanks for that.

If the 'import' file is one that accumulates new records, is it possible to hold a date variable in Aware so that when the rule fires to import the data it will only import data since the last time it ran and then update the date variable to NOW for the next run.
aware_support
Posts: 7523
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

Yes, you could define a business object called LastImport with the attribute of the Timestamp type. There will only be one instance of such an object. Before you do the import you must add a rule that finds this instance and then compares data to import with the value of the timestamp. After the import you would set the value to CURRENT_TIMESTAMP.
Aware IM Support Team
Post Reply