Previous | Table of Contents | Next |
Communications Protocols and Network. Communication, especially real-time communication, is critical to a successfully integrated system. The development team must consider various types of communication: interprocess communication, communication between the open system and a mainframe, and broadcasting or publishing information through the open system. The communication method is selected based on the end-users goal.
Interprocess communication methods (a point-to-point approach) is used for discreet communications, such as when one user wants to send information only to certain individuals. When a user needs to communicate from an open system to a mainframe, special communications software must be implemented because workstations, PCs, and mainframes all speak different languages themselves (i.e., they have different operating systems). When large amounts of data need to be distributed across a group of users on a network, a broadcast method is used. Many market data vendors provide software that facilitates this type of communication.
In every type of communication, performance by the hardware and response time by the application is key. User specifications determine how the application will handle its processes, which must be designed so as not to overload the hardware and slow performance. Here, bandwidth must be determined. If an organization anticipates a large number of transactions, it should plan for accommodating them. Users can be consulted about how many transactions they anticipate executing in current conditions; they should also try to estimate future business volume. Then benchmarking can be done on existing hardware using tools available for this purpose. A sniffer can be put on the line to measure the number of bytes transmitted per second.
A final but important aspect of the communications protocol is scalability. Whatever product is used to develop communication should be able to accommodate a growing number of users. Of course, no open system can handle an infinite number of users, but a number reasonable to the business should be accommodated. Different protocols have different limitations, so the project team must examine specifications for those products.
Graphical User Interfaces. Design of the windows can be the most important and most complicated part of the integration process. At a minimum, the team should consider how the programming language will make the windows perform, navigation through the various windows, how large the panels are, what color they are, and how information is organized on them.
A GUI painter should be used to create the windows for the proposed system. The window attributes are clear, readily available, and easily modifiable.
Once the windows are designed, team members can often populate certain types of widgets with sample data, which makes the functional aspects of the system clearer without doing a coded implementation. Pull-down lists are good examples of this feature. For example, if a limited and thus predefinable set of standard entries, such as the regions of the United States, is required, the information can easily be entered as a pull-down list and be immediately visible to users. As many of the widgets as possible should be predefined and implemented before taking a finished screen prototype to the users for approval. At this stage, users can tell if the development team has integrated the business requirements into the system.
Database Design. Design and implementation of the database is also determined by the business flow. Although the gathering of the individual pieces of information is relatively straightforward, organization of the data may not always be. The goal in database design is to provide the best performance possible by implementing the optimum data organization. Whether the data model is relational or hierarchical, the designer/developer must resist the temptation to design a perfectly normalized, not-a-byte-wasted database, even if it means decreased performance for the user. It is often worthwhile to repeat fields to save the user an additional data retrieval.
Effective database design must consider hardware organization. Attention must be paid to the size of the database. It is possible for a component of a database to require an entire machine by itself; the various pieces of data, which could end up on different machines, need to be able to interact with each other.
Previous | Table of Contents | Next |