The system contains its own internal relational database, however there are many scenarios where it is desirable to access external data, either for import or export.
Q. Can the system be connected direct to an ‘external’ database instead of its own, so I can directly access the data using external systems without going through the neatComponents system?
A. neatComponents needs to have complete control over the database. It needs to be able to make changes to the database structure, it needs to be able to enforce business rules, and provide a robust security layer. None of these are possible if external systems can directly manipulate the data, and would lead to instability, corruption, and unsupportable systems. Furthermore, what may appear through the neatComponents interface to be individual ‘tables’ are actually provisioned at the database layer by a set of interlinked structures, making direct manipulation difficult.
Q. Can I have direct read-only access to the database?
A. As noted above there's lots of good reasons for not letting external systems make changes direct to the database, but it's also not great to let them even read it. Firstly, as we update the system we are adjusting the data schema - so any external systems could break unexpectedly. Secondly, the schema doesn't look anything like you would expect, since we pull back much of the database management into our business layer. As a simple example, all objects in the database just have numbers, rather than names, and we then de-reference the names and store them separately (this allows our naming rules to be less restrictive than the underlying database, and makes queries more efficient).
Q. How can I integrate with external systems?
A. There are several methods available. The methods you use will be dependent on the nature of the integration you need.
However before looking at integration, which inevitably leads to system complexity, it is worth considering whether it would be better to bring the functionality of the external system into the neatComponents system itself. In many cases the effort involved is less than anticipated, and the overall benefits in the longer term can be considerable.
If you need to provide an integration, the following methods are available:
Data Import Component
This allows you to import data
from a REST endpoint or from uploaded files, in XML or CSV format
Read more about the Data Import Component
This allows you to provide a structured data export endpoint that external systems can read.
Read more about CSV Views
External Sale Connector
This e-commerce specific component provides for exporting live catalog data and registering sales acquired by external sites.
Read more about the External Sale Connector
This provides a scriptable interface to load data into the system, giving you flexibility over the data source. Ideal for legacy enterprise or ODBC systems.
Read more about Scripts
Data Integration is a complex area which requires expertise in both systems involved. For consultancy and support in this area please contact us.