The eLandings system provides web pages that import and export landing and production reports. The import function is allows users to enter reports into eLandings without having to duplicate the data entry they have already done on their own business system. The import function expects that users will review the data as entered into eLandings, prior to submitting it. Adjustments to the report data may be made. This is particularly true for reports with IFQ, since eLandings allows the IFQ reports to be generated from the submitted landing report. It is not uncommon for generated IFQ reports to be edited before final submission.
The export function allows users to get reports in XML format, suitable for importing into third party system. Reports can also be exported in CSV or Microsoft Excel format, for users who manage their business with spreadsheets.
Using the eLandings web pages for interfaces to third party system has advantages and disadvantages for third party developers.
Advantages
The interface to eLandings is quicker and easier to build using the web page features. The third party system only had to read a file on user command to acquire eLandings data, and to write a file in the designated format if exporting data to eLandings. Users take the responsibility for transferring the files to and from eLandings.
For an interface where the third party system exports report files for import into eLandings, the need for automated error handling is reduced. The user is already in the loop, for transferring the file to eLandings using the import web page. If the eLandings system returns errors on the import the user receives and deals with them. IFQ report generation can be completely in the hands of the users, utilizing the eLandings web page functions for IFQ reporting. Generating IFQ reports correctly is among the most complex processes for landing reporting.
Disadvantages
- more work for users
- more contrained custom system
- not appropriate for high volume
- can hit 1000 record limit
- less likely for new features to be developed/supported by eLandings staff
- CSV file format updated less frequently than XML
We encourage third-party developers to use these methods while learning how to work with eLandings XML data structures. It may also serve as a temporary backup strategy if or when third-party applications become out of date with their eLandings XML schema definition. Although not recommended, third-party developers may choose to build applications that revolve sole around these web pages without making use of the public web services. This approach attempts to shifts work from the third-party developer to the user of the application and to eLandings developers. Such solutions may be cheaper to implement in the short term but more costly to maintain over time. It is predicted that end users will be less satisfied with third-party applications built on this philosophy.
If third-party developers opt for this approach they can expect the following:
Inability to create all desired features requested by the user group
It is expected that third-party developers who opt to build their solution solely around eLandings web pages, will be unable to create all the desired features requested by their user group.
The choice to build third-party solutions solely around eLandings web pages results in shifting work responsibility from the third-party programming staff to the eLandings programming staff. Third-party developers are in effect saying "I want eLandings developers to build and maintain the interfaces by which my users will import and export eLandings data." Predictably, third-party developers who make this choice sacrifice control of those interfaces and the timeline for the implementation of changes to those interfaces.
Inability to handle a large number of reports efficiently
It is expected that third-party developers who opt to build their solution solely around eLandings web pages, will be unable to handle a large number of reports efficiently from their third-party solutions.
The eLandings Report Extract web page has a record export limit of 1000 landing reports. This restriction is to protect eLandings from exceeding the java heap size on the eLandings server for any one user. It is also designed to protect the eLandings database from long running queries. In effect, eLandings is protecting other users from any individual data extract request.
The choice to build third-party solutions solely around eLandings web pages will require the third-party developers to figure out how they will move data from eLandings to their third-party application. This might be manual or programmatic.
Scenario 1
A user logs into eLandings, enters a search query and exports an XML, Excel or CSV file containing one or more landing report or production report. The user logs into the third-party application, browses for the exported file and imports the file into the third-party application.
Scenario 2
A user logs into the third-party application and exports an XML file containing a single landing report or production report. The user logs into eLandings and imports the XML file into eLandings.
Both scenarios are not well suited to handle a large number of reports efficiently. In both cases, the larger the data volume, the more likely users will become frustrated, make mistakes or fail to keep eLandings and third-party in sync.
Third-party applications may relieve some of the manual steps by scripting these steps with automation languages such as Ruby Watir. Such scripting languages allow, programmers to write code to open a browser, go to a URL, enter form data and submit that data, among other tasks.
Be aware that these scripting techniques are fragile and easily disrupted during execution by users doing other activites on their computer. If Watir is used, it is recommended that users be trained not to do other things while the Watir scripts are running.
Be aware that these scripting techniques are heavily dependent on the page elements within the HTML pages being constant. Although rare, eLandings developers occasionally have to change the HTML pages as corrections and improvements are made. Third-party developers will need to have a mechanism for correcting their scripts in the event that such a change to the HTML page causes a problem.
Requiring the users to do more work than a comparable system built using the public web services
As illustrated in "Inability to handle a large number of reports efficiently", users are likely to be asked to do more manual steps when working with the eLandings Data Extract and Import pages. Third-party developers may require users to log into eLandings and browse to the data extract page. The user may need to type in the date range, operation codes, vessel numbers, etc. for which they want to get reports. The user may be asked to find the exported file on their machine and import that file into the third-party application.
By comparison, all of these steps are much easier to build and automate within the third-party application when the eLandings public web services are use.