ONCE UPON A TIME there was an investment bank that was considered very prominent. Founded in the late 19th century, they relied upon their own skills and understanding of the market and economics to make money for themselves, and to help their rich clients make investment decisions that allowed them to make money too. Eventually, along with the onslaught of technology and many bull market cycles, they and their competitors started using information technology to gain a competitive advantage over each other. At one point, this bank became very global and even more prominent. Integration of information between their sales traders and analysts became critical if they were to maintain that prominence and improve the quality of their services and products. The vision for this global investment bank project turned into a strategic and important project to the firm, and they found a guy like me to help them build it. Before I joined the project, which had already gone through analysis and design phases, the bank had assessed and purchased a third-party contact management application, Siebel Financial Services, that acted as an ActiveX container and generic framework for contact management. Parallel to this, in response to CautiousBuyOverBuild, they were prototyping the construction of their own container in case business or technical requirements disqualified Siebel from being used as a contact management framework. The application was multi-tier with a GUI, CORBA middleware to an application server which accessed data ''silos'' that contained financial, market, and application data. There were some looming technical design and architectural issues that still needed to be fleshed out. For instance, in theory Persistence [2] provided a good facade to get at all the tables in an object-oriented fashion. But technical and performance issues still needed to be addressed. Second, while Siebel provided an elaborate user interface with a wide array of contact management features, there was a question as to how usable it would be for the traders and analysts who would be using the system. It contained a long list of contacts that were difficult to navigate very quickly, and it was difficult to present multiple dimensions of data related to contacts (e.g., quickly and efficiently navigating between deals, products, analysts, or coverage for one or more contacts was a major issue). And, Siebel is a two-tier application. It used ODBC to access a Sybase database residing on a UNIX server. Hence, in the presentation layer for our solution, we were extending a generic two-tier contact management application with a multi-tiered application, and data integrity between both systems was an important issue that needed to be addressed. ''work in progress...'' ---- CategoryProject