Simple or Complex
SRTransport's intuitive user interface and inherently flexible architecture allows the user to handle data migration tasks that range from very simple to extraordinarily complex. Running a transport can be as easy as dragging in a source and a destination, and then setting SRTransport to run.
For more complicated transports, SRTransport allows you to map input columns to output columns. Optionally, you can choose input and output masks that will format data by column type or perform advanced calculation and conversions prior to transporting to your destination.
This functionality and advanced feature set, mixed with the extraordinary ease of use lets SRTransport stand alone as a necessary tool in the enterprise application developers bag of tricks. Now consider that SRTransport provides these same functions and ease of use as a powerful base for incorporating advance functionality in enterprise applications. True transport power, as easy as drag and drop.
Once a transport instruction file has been setup, you can run your transport and see a log of the data being moved. This step also allows you to see all errors as they occur. You are able to pause the transport and then continue or abort, depending on your needs. To aid in development and eliminate any possible disasters and restores, you can do a trial run on the transport which performs all steps of the transport, except the very last step of delivering data to the destination.
Transports can be easily run from the command line (or from a command script) by providing the name of your *.transport file.
[alane:~] randy% sragent customer.transport
C:\randy> sragent customer.transport
Transports can be a simple three click process. Drag in your data source. Drag in your destination. Click Run. No configuration necessary.
SRTransport will automatically map input fields to output fields. Some discrepancies are allowed, and built in sanity checking prevents problems. For example, additional fields in the input source are ignored (not transported) if a corresponding field is not found in the destination. Conversely, additional fields in the destination are given NULL values. Whenever possible, datatype conversion is automatic, eliminating another step in your work day.
The command line version of SRTransport can also function without a *.transport file. Using command line parameters, you can specify the data source and destination. The same automatic mapping is used.
sragent -source sybase_table -dest oracle_table2 ...
SRTransport can optionally create the destination file or database table. This is useful when you are testing a transport or wanting a one-off transport. It is not necessary to create or maintain transport configurations.
Data Migration and Editing
A very powerful functionality built into SRTransport is it's Data Migration feature. Data Migration is accomplished through powerful Transport Adaptors. Sybase databases and flat files are handled through specially optimized adaptors that significantly increase transport efficiency. Oracle and ODBC transports are handled via the EOF Transport Adaptor. Each takes specific advantage of its own medium.
SRTransport allows the user to powerfully control different data types. For example, dates can be formatted, and strings and numbers can be manipulated. This minipulation step is easy to set up using knowledge you already have of your own databases and data.
In addition, data can be reorganized relationally. Data that exists in a source file in one massive table can be split into carefully predefined multiple tables, thus allowing the opportunity to significantly improve database design and performance. The destination database can have columns that receive no data. SRTransport also allows you to migrate/navigate dissimilar data formats.
Transport Adaptors (Plugins)
SRTransport has transport adaptors that provide a generic interface to various types of data stores. The basic requirement of a transport adaptor is that it be able to get rows and put rows.
Each transport adaptor takes advantage of the features of its particular type of data store. For example, the transport adaptor for Sybase provides for multiple modes (insert, update, bulk-copy etc.), stored procedures, RPC's and other features. These features allow creative and optimized solutions. The transport adapters main functions are to provide you a method for manipulating your database as easily as possible.
SRTransport supports C++ and ObjectiveC API's (a library/DLL) that allow easy integration of transports within your programs.
Do you have a program that needs to process and insert it into the database? Wouldn't you want to maintain the flexibility of SRTransport's various transport adaptors on the input side? SRTransport's API makes this possible. And easy.
Your custom code, in any form, can be used to further automate the data migration process. Your code can load a .transport file or it can create and configure a new transport. Simply specify one of your own objects as the source or the destination of the transport, and then your code can instruct the API to run the transport. While it's running, SRTransport will ask your source object (if any) to provide data, and will deliver data to your destination object (if any).
In this way, your code handles one end of the migration, while you keep the flexibility and configurability of SRTransport on the other end.
Now imagine there is an update to your databse platform. Would you rather let us provide you an update that easily scales to the new system, or rewrite your code independently? Let us help you. SRTransport can easily integrate into your development environment and allows for an easy upgrade path.
SR·Transport allows you to run your transports interactively so you can monitor and debug them. You can save these transports in ".transport" files. To run the transport on the command line, in the background unattended or from scripts, use SR·Agent.
Because speed is important, you'll want to consider where (on which machines) you run your transports. Generally, the "closer" SR·Transport and SR·Agent are to your database server and to the data files, the faster it will perform. For example, you may use SR·Transport's user interface on MacOS X to configure and test your transports, but run them nightly from a command script on your Linux machine, where your Oracle database server runs, providing faster data movement and reducing network and server loads.