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.
China
|
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.
|
|
|
|
|