Solving a problem by adding a level of abstraction is a
very common technique in computer science, and the examples of spectacular
successes abound. The ease of use that we enjoy with computer networks today
is perhaps the most visible instance of successful decoupling. In the late 1990s,
every software developer who wanted to use any network capability was forced
to target a speci?¬?c protocol. A program written for working with Token Ring was
different from one performing the same functions but designed to work on
Ethernet. Software vendors needed to know which protocols were available on
the customer LAN. Customers needed to know which protocols were supported
by the products they bought. Any change had to be addressed by modifying the
source code, with signi?¬?cant time and effort investments; and the contrasting requirements
of different software packages drove network administrators crazy.
Then something magical happened. The TCP/IP protocol started to enjoy widespread
adoption on a growing number of platforms. TCP/IP made immaterial to
developers the question of whether the target system supported Ethernet or
Token Ring. You could program directly against TCP, and the actual protocol
availability became a deployment problem.
Pages:
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203