The project is a large distributed intranet / Internet monitoring and control system written in Java. This Associate system is designed to allow the multinational customers to evaluate and communicate with their distributed sites from any point in the world. Sites controlled by this system are valued in the tens of millions of dollars each. The software directly relays information to the users onsite when an unsafe event is taking place which may force evacuation of the site. Human safety, asset control, productivity, training, playback , process monitoring along with the ability to monitor, communicate with and update the asset from any place in the world are all aspects of this project. This software also communicates with current native systems onsite.
Responsibilities include working hand in hand with the company analysts, the final clients in England, Houston , Alaska, California, the North Sea and other parts of the world. Project architect and head developer distributing the work load among other developers and myself. Coding of the CORE API , implementing quality control , architectural compliance of third party components and subcontractors code. Technical lead and mentoring of other programmers. Content manager and integration manager.
A quick overview of the System.
The system is based on bean type components which have a visual representation using Swing / JFC. There are set packages of interfaces that each component implements which allow for the following features. Not all of the features are listed.
1) Saving and restoring of state information between runs.
2) Dynamic location and listing of components in the systems classpath. No pre knowledge of component is needed for it to be added into the system.
3) Dynamically adding and removing of components from the system at run time.
4) The ability of sending components to any other system which is linked to its network. (pseudo RMI)
5) A human readable run time debugging interface which allows the user to enumerate through the components added to the system and view their current states.
6) Multiple event streaming and communication channels.
7) Manipulation of component properties during runtime. Without affecting other components on the system.
Some of the components personally developed .
1) 3D Visualization controller component.
2) 2D View / Well Bore Schematic controller component.
3) JDBC / System components For the MS Access and MySQL Databases.
4) Legacy Client Socket component.
5) Visual Database Editing component.
6) Numerous streaming data visual components.
7) Object Streaming Client Socket components.
8) Object Streaming Server Socket components.
9) Visual system debugging components.
10) Network wide live object communication (pseudo RMI) and chat components.
11) Debug component. which allows the end user to file a bug report. It sends the state of the system along with the bug report to the person in charge of bugs.
12) Alert limit and system warning component.
All of the components communicate to each other in the system or across a network via the defined streams.
Tools of heavy use are Rational Rose 98 for Java, CVS - JCVS,Versions2.0, Symantec Visual Café 2.5, Jbuilder2, Install shield for Java and JavaDoc2. This is a distributed development with developers and analysts separated by distance and time zones.
