Hong Kong Metal Trading, Ltd.
Trading Management System
"Using Iron Speed Designer probably saved about three man-months of development time and $15,000."

Michael Sumption, President and CEO of GovIS

Trading Management System

Hong Kong Metal Trading, Ltd.

The Trading Management System (TMS) application was developed for Hong Kong Metal Trading, Ltd, a global scrap metal trading company with offices in China, Europe, and the USA. The European and American users are traders. The Hong Kong - Chinese users handle administration, accounting, and operations.

TMS manages and reports on scrap metal trades and includes components such as trades (orders), purchase orders, sales orders, supplier invoices, customer invoices, claims, adjustments, shipping and trucking documentation, container images, bill of lading documentation, several types of companies (e.g. suppliers, shippers, etc), contacts, addresses, reporting, advanced search, table maintenance, user admin, and remote QuickBooks integration.

A Trader in California negotiates a trade to buy scrap metal from a supplier in South America and sell it to a customer in China. The Trader enters the details of the trade into the system. The Trader may also check the supplier and customer balance, trade history, and metal price history to determine if the trade is worthwhile. The Operations group in Hong Kong is notified and they create the necessary documents (e.g. purchase order, sale of order, and others) in TMS as the trade progresses. The Accounting users export some of these documents to QuickBooks for accounting purposes and also import balance and payment status back into TMS. The Administrative users run reports that allow them to make decisions and manage the business based on trade status, price history, trade profitability, cash-to-cash cycles, open-to-close cycles, and payment history trends.

The Edit Trade page after the Operations group has created several corresponding documents listed in the Trade navigation treeview (WebTree control) in the Trades bar (WebListBar control). The treeview is dynamically built and displayed after a user searches and selects a particular Trade. This screen shot also shows the custom UI and theme.

Application size and scope

TMS utilizes one Microsoft SQL Server database with 60 tables and approximately 300 web pages. The largest database table is the ContainerImages table which stores photo images of the scrap metal inside the cargo containers. The TradeDetail table has the most records with about 4,000.

There are about 18 users that access TMS each month. In total, HK Metal Trading, Ltd. processes about 165 trades per month. Each trade involves many system level transactions.

The project

Since this project continues to evolve and has required many changes over time, it has been in development and in use for over a year. The entire application was created by two people: one Project Manager/Analyst and one Developer. Though Iron Speed Designer has been used throughout the project, its portion has been less than the overall duration of the project.

Code extensions and customizations

TMS required that I write many code customizations. There are typical customizations in the Presentation Layer such as security, filtering, redirection, and formatting. All of the business logic customizations are in Data Access Layer in the Record and Table classes. Some special customizations include image file handling, advanced search, and integration with several third-party components such as:

Special Custom UI with Infragistics WebTree, WebListbar and WebToolbar Controls.
Custom reporting with Business Objects Crystal Reports. I built a custom reporting sub-system that allows the user to dynamically specify or change report criteria for existing reports or add new reports. This sub-system also uses a different mechanism to stream the report as a PDF document to a separate browser or as a DHTML document in the Crystal Reports Viewer.

The report criteria page and Price History report

Intuit QuickBooks integration with the /n Software QuickBooks IBiz Integrator Component. TMS runs on a server in our data center in Arizona. The Accounting user in Hong Kong uses TMS to execute a batch or specific document synchronization process. Using the IBiz Integrator component, TMS makes a secure connection directly to the Accounting user's QuickBooks file on her PC and exports and imports data to and from QuickBooks.

Customized QuickBooks synchronization page with log output

The code customizations above took the majority of the project time. In total, the application contains over 10,000 lines of hand-written code.

Page layout customizations

The TMS project began in November 2005 in Designer V3.0 and is now in V3.2.4. My goals were to create a Microsoft Outlook style and improve performance by reducing view state, page size and postbacks. So, I decided to create a special UI utilizing Infragistics controls. The other benefit was that the controls had some basic AJAX (pre-Atlas) capabilities.

What began as a prototype experiment turned into an exciting new UI platform that performs and functions very well. The "master page" (not affiliated with Visual Studio .NET 2005 Master Pages) was created as a separate project in Visual Studio .NET 2003. This single page contains the application's header, navigation, content, and footer sections. The header section contains text, images, and the main toolbar (WebToolbar). The navigation section contains a WebListbar with several bars and embedded WebTree controls. Some of the WebTree controls have static nodes and others have dynamically data-driven nodes based on user actions in the content section. The nodes perform functions, but primarily redirect pages in the content section.

The content section contains only an iframe where the Iron Speed Designer application executes. As the user works through the application, the Iron Speed Designer application in the iframe and the "master page" communicate and synchronize via "AJAX" JavaScript calls. Consequently, the "master page" never posts back and only the application pages in the iframe change.

I created a custom design theme, based on Iron Speed Designer's "Redmond" theme, where the header, menu (navigation), and footer sections were removed since this is handled by the "master page". This customized theme also helped reduce page size.

Iron Speed Designer impact

Using Iron Speed Designer probably saved about three man-months of development time and $15,000. This project probably would have taken 4-6 months longer without Iron Speed Designer.

The project would be feasible without Iron Speed Designer, but not nearly as cost- or time- effective, not to mention the value of consistent code within the Iron Speed Designer framework.

Next steps

More features are planned for TMS including an access portal for suppliers, customers, shippers, etc. As time goes on, Hong Kong Metal Trading, Ltd. will continue adding users to the Trading Management System (TMS) application.

About the developer

Michael Sumption is President of GovIS, LLC, a software development, training, and consulting firm and Microsoft Certified Partner in Northern California. He has been developing software for 20 years (Visual Studio .NET since 2001, SQL Server since 1994, Crystal Reports since 1996, Infragistics since 2001, and Iron Speed Designer since 2004). Michael is one of the original Iron Speed MVPs.

Terms of Service Privacy Statement