The eLandings team has provided system provides web pages to that import and export and import landing and production reports. 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 servicesThe 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
The primary disadvantage of using the web page functions as the system interface is that it burdens the user. 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
A system interface built on web page data file functionality will have limited custom features. 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
A system interface build using the web page data file functions may not be appropriate for seafood processors involved with fisheries with a high volume of landings in a short time period. 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 Data Export 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.
A system interface using web page data file functions could operate based on one of two scenarios:
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.
...
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 Another disadvantage to a web page based data interface is that enhancement requests will have lower priority and will be slower in being implemented. The eLandings development team has provided the web services for third party interfacing systems. Enhanced functionality will be implemented there first. Requests for enhancement of the web page data file functions will be addressed at a lower priority, particularly if the requested feature is already available through the web services. Also, changes to the data, such as additions of new elements, will be implemented in the XML format first. The CSV file and MS Excel files produced by the report extract web page may not get the new data elements for a considerable period of time.
Scripted Interface to Web Pages
One approach that third party developers who want to interface to the web pages might contemplate is to automate web browser actions through scripting. Tools such as Ruby/Watir allow software to control a web browser automatically, to visit pages and get data. Such scripting techniques are heavily dependent on the page elements within the HTML pages being remaining constant. Although rare, Third-party developers should be aware that eLandings developers may occasionally have to change the HTML pages as corrections and improvements are made. Preserving page elements to provide backward compatibility with scripts will not be a consideration, since the eLandings system provides the web services for automated system interfaces. Third - party developers who use a scripted web page approach to their system interface will need to have a mechanism for correcting their scripts in the event that such a change changes 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 usepages causes problems.