Technology Model

   

The technology model defines the technology services that are available to solve the application's requirements. The technology model is used to identify, acquire, or create the necessary technical resources that support the application requirements. Some of the questions this model answers include:

  • What operating system features can be assumed on the desktop, on the server, and on the database?
  • What network protocols will be supported?
  • What security technology will be used?
  • How will technology be used to assist with high-end scalability?
  • How will database integrity be maintained across multi-component and multi-database transactions?
  • How will large, asynchronous requests be handled?
  • What technology will be used to access the mainframe?
  • How will UI forms be rendered?
  • What technology will be used to get to data on a remote database?
  • What technology will be used to replicate data across database servers, or to the desktop?
  • How should things be built based on the needs of the business (schedule, resources, skills, costs, and so on) and the capabilities of the available technology (objects/components, data access, GUI forms, distributed transactions, security, design tools, programming tools, bug tracking, and so on)?
  • What tools should be used to help build, debug, integrate, or deploy the application?

Note   Code written and compiled for the project becomes part of the technology model, just like controls or operating system services picked up from external sources. Similarly, the source code for the project is also part of the technology model, in the same way as usability test reports are part of the development of the user model.

How the technology model interacts with other models

As the diagram in the Enterprise Application Model shows, the technology model directly interacts with the business model, the logical model, the user model, and the physical model. The following table characterizes these interactions and gives brief examples of each.

Sub-model How the technology model relates to it Example
Business model Implements the application's business objectives in the physical system. New Internet technologies create business opportunities that were previously unavailable.
Logical model Implements the logical structure of the application as physical components. Business rules are encapsulated in components that run on the application’s infrastructure.
User model Delivers the application functionality with technology appropriate to the user’s skills, desktop configuration, and connectivity. If an Internet application gives users remote database and business processing services, the development team must acquire the tools to program, debug, and test multi-user, asynchronous, distributed applications.
Physical model Provides the technology to deliver the application functionality on the chosen physical architecture(s). If an Internet application must run on servers that use different operating systems, development team may have to use multiple programming languages and tools.

Since the development model permeates all of the Enterprise sub-models, there are no "typical" interactions because you must account for every design and implementation decision in the development model.

How the Internet affects the technology model

Examples of the way the Internet has affected the technology model include:

  • The availability of HTML, Java, HTTP, Internet servers, LAN firewalls, component signing, and desktop-based Web browsers.
  • The need for fast application servers to remotely process business rules.
  • The possibility of adding additional new end-user platforms to the test and development support list.

For more information   The technology model is explored in greater depth in "Assembling Enterprise Technologies," in Chapter 3, "Tools for Enterprise Application Design."