.NET vs Java
What in the world is going on in the marketplace? Technology is moving so fast that it is
sometimes a little difficult to tell what is happening.
Lets take a short trip back to the past.
It wasnt too long ago that applications were designed, developed, and deployed on a single
machine. For those of you that can remember the early days of the personal computer era,
things like dbase, FoxBASE, and the like might ring a bell. Everything ran on the same machine —
the user interface, the business rules, and the database services.
Then along came local area networks, which ushered in the era of clientserver applications. Now
the user interface and the business rules sat on the PC and sent requests to a client-server
DBMS such as Oracle or SQL Server, while on the server side, records were processed and
results were returned to the client.
As LANs matured and their reliability improved, application development went through yet
another evolution, namely, the advent of 3-tier architecture. This transformation resulted in the
user interface, business rules, and data services each becoming its own independent logical
element in the application architecture. The physical world may have implemented each
element on a separate machine, but that was not required.
The main advantage of the 3-tier model is that business logic could now be broken up into
components, where they could be used not only in one but many applications. Additionally,
changes to business logic in the server did not require the calling party or client to change at all.
In other words, the details of the implementation of business logic or the function is not
important, as long as the way it is called and the type of information that it returns do not
change. Lets face it, the world is changing quickly and we need to be able to adjust without
having to re-deploy.
Of course, the initial implementation of the 3-tier model (later to become the n-tier) was
primarily on common machines and operating systems such as Intel, Windows, and Unix.
Vendors each supported their own brand of components. Microsoft supported COM, followed
by DCOM. IBM promoted CORBA, and Sun touted RMI. Each of these middle tier component
flavors was proprietary and did not provide for inter-operability and communication among
disparate pieces. In order for a Microsoft application to talk with a CORBA component another
piece of software was required for translation. The same was true for apps trying to
communicate with DCOM objects as well.
What in the world is going on in the marketplace? Technology is moving so fast that it is
sometimes a little difficult to tell what is happening.
Lets take a short trip back to the past.
It wasnt too long ago that applications were designed, developed, and deployed on a single
machine. For those of you that can remember the early days of the personal computer era,
things like dbase, FoxBASE, and the like might ring a bell. Everything ran on the same machine —
the user interface, the business rules, and the database services.
Then along came local area networks, which ushered in the era of clientserver applications. Now
the user interface and the business rules sat on the PC and sent requests to a client-server
DBMS such as Oracle or SQL Server, while on the server side, records were processed and
results were returned to the client.
As LANs matured and their reliability improved, application development went through yet
another evolution, namely, the advent of 3-tier architecture. This transformation resulted in the
user interface, business rules, and data services each becoming its own independent logical
element in the application architecture. The physical world may have implemented each
element on a separate machine, but that was not required.
The main advantage of the 3-tier model is that business logic could now be broken up into
components, where they could be used not only in one but many applications. Additionally,
changes to business logic in the server did not require the calling party or client to change at all.
In other words, the details of the implementation of business logic or the function is not
important, as long as the way it is called and the type of information that it returns do not
change. Lets face it, the world is changing quickly and we need to be able to adjust without
having to re-deploy.
Of course, the initial implementation of the 3-tier model (later to become the n-tier) was
primarily on common machines and operating systems such as Intel, Windows, and Unix.
Vendors each supported their own brand of components. Microsoft supported COM, followed
by DCOM. IBM promoted CORBA, and Sun touted RMI. Each of these middle tier component
flavors was proprietary and did not provide for inter-operability and communication among
disparate pieces. In order for a Microsoft application to talk with a CORBA component another
piece of software was required for translation. The same was true for apps trying to
communicate with DCOM objects as well.