the bristol port company
The Bristol Port Company runs the ports of Avonmouth and Portbury in Bristol. The Bristol Port Company has over 500 employees and handles a number of distinct trades including; motor vehicles, fresh produce, bulk raw materials and cruise ships. Working in the in-house software development team has given me experience creating and maintaining software on client desktops and servers as well as software for mobile devices.
My first major project was to write a windows service which would handle all incoming and outgoing inventory messages from customers. These messages include lists of inventory that are being delivered to the port, stock adjustments and delivery confirmations There are a number of different formats from XML, CSV, Excel spreadsheets and EDI (electronic data interchange). I have used XML technologies to translate the many different formats of messages and to check them against predefined schema. This service communicates with a desktop client via WCF, allowing the user to manually import messages, monitor messages across a number of trades, monitor message exceptions and stop and start messaging services. The messaging client makes extensive use of DevExpress components to create an attractive and powerful application.
Since working at the port I have also made some significant enhancements to legacy software running on Windows CE 6.0 mobile devices. Most significantly I have moved configuration of individual devices from the machines themselves onto a centrally managed system. This uses a WCF portal which the devices must log into to receive their configuration details. This has saved significant time reconfiguring mobile devices and has improved reliability and security.
The updates I have made to the mobile devices are one aspect of the newly adopted service orientated architecture which I have made a major contribution to designing and implementing. I have sought to remove database design dependencies from applications by redesigning them to use one or more services for database interactions. This additional layer in the architecture has made the applications far more maintainable and improved security by only allowing applications and users access the data that is relevant to them. By using a central portal to configure individual applications, users can easily be directed to different services and databases as well as being remotely configured for the individual user.
I have also created a generic service for notifications which allows applications to send application agnostic messages to a set of users. For example a program can inform a user if changes have been made to a document that they own. These messages can contain application specific XML which can be used to open the relevant application with context specific information, for example opening a document management system with the modified elements of a document displayed.
These projects have given me valuable experience of windows services, WCF, Service Orientated Architectures, SQL Server 2008 / 2014 and Stored Procedures.