The technology model is the design phase in which you evaluate and select the tools, infrastructure and platforms for your component-based application. It is also where the physical components that will work together in your solution are designed and coded, or where existing components are selected for reuse or purchased from an outside vendor.
In the technology model design phase, you translate the abstract business objects you defined in the logical model into actual physical components. In addition to the actual coding (or selection for reuse) of these components, you also evaluate the requirements identified in all the other models to choose a technology platform that will adequately support them. These technology evaluation tasks include the following.
What features and services can be used or reused to reduce the project's development cost, schedule, and risk? What architectural or implementation requirements do these assets impose on the current project? This includes previous versions of the application, and components available from other groups or third-party vendors.
What operating system platforms will the software run on? Will it run on a local area network only, or on an intranet or over the Internet? Do the client computers all run the same operating system, or must a "generic" client platform (HTML/ASP) be used for the client? In conjunction with the physical model design, what infrastructure services will be needed to support scalability, transaction services, messaging, queuing, database support, mainframe bridges, and so on?
What programming languages will be used for components that will be built by the project team? What development environments? If client and server components will run on different platforms, are different tools appropriate for the different components? What constraints do various tools impose on the physical architecture (machine code, threading model, memory requirements, and so on)?
Visual Studio, Enterprise Edition, along with the Microsoft operating systems and Back Office products, offer an extremely broad range of development, platform, infrastructure, and database technology tools. A partial list of these technology options includes:
For more information The MSDN library provides extensive documentation for using all of these technologies and services. For more information about any technologies, search online in MSDN Library Visual Studio 6.0 for the name of the technology.