The Evolution of Layers in Enterprise Applications

zhaozj2021-02-16  139

The Evolution of Layers in Enterprise Applications Although I'm too young to have done any work in the early days of batch systems, I do not sense that people thought much of layers in those days. You wrote a program that manipulated some form of Files (ISAM, VSAM, ETC.), And That Was Your Application. No Layers Need Apply. The Notion of Layers Became More Apparent in The '

90s with the rise of client Yi erver systems These were two-layer systems:.. The client held the user interface and other application code, and the server was usually a relational database Common client tools were VB, Powerbuilder, and Delphi These made. it particularly easy to build data-intensive applications, as they had UI widgets that were aware of SQL. Thus you could build a screen by dragging controls onto a design area and then using property sheets to connect the controls to the database. If the application Was All About The Display and Simple Update of Relational Data, Then these Client 杝 ERVER Systems Worked Very Well. The questionm Came with domain logic:

business rules, validations, calculations, and the like. Usually people would write these on the client, but this was awkward and usually done by embedding the logic directly into the UI screens. As the domain logic got more complex, this code became very difficult to work with. Furthermore, embedding logic in screens made it easy to duplicate code, which meant that simple changes resulted in hunting down similar code in many screens. An alternative was to put the domain logic in the database as stored procedures. However, stored procedures gave limited structuring mechanisms, which again led to awkward code. Also, many people liked relational databases because SQL was a standard that would allow them to change their database vendor. Despite the fact that few people actually did this, many liked having the option TO CHANGE VENDORS WITHOUT. BECAUSE THEY ALL PROPRIETARY, Stored Procedures Removed That Option. at The Same Time That Client 杝 ERVER WAS GAINING POPU Larity, The Object-Oriented World Was Rising. The Object Community Had An Answer To The Problem of Domain Logic:

Move to a three-layer system. In this approach you have a presentation layer for your UI, a domain layer for your domain logic, and a data source. This way you could move all of that intricate domain logic out of the UI and put it into a layer where you could structure it properly with objects. Despite this, the object bandwagon made little headway. The truth was that many systems were simple, or at least started that way. And although the three-layer approach had many benefits, the tooling for client Yi erver was compelling if your problem was simple. The client Yi erver tools also were difficult, or even impossible, to use in a three-layer configuration. I think the seismic shock here was the rise of the Web. Suddenly people wanted to deploy client Yi erver applications with a Web browser. However, if all your business logic was buried in a rich client, then all your business logic needed to be redone to have a Web interface. A well-designed three-layer system Could Just Add A New Presentatio n layer and be done with it. Furthermore, with Java we saw an unashamedly object-oriented language hit the mainstream. The tools that appeared to build Web pages were much less tied to SQL and thus more amenable to a third layer. When people discuss layering, there's often some confusion over the terms layer and tier. Often the two are used as synonyms, but most people see tier as implying a physical separation. Client Yi erver systems are often described as two-tier systems, and the separation is physical : The Client Is A Desktop and The Server Is A Server. I Use Layer To Stress That You Don '

转载请注明原文地址:https://www.9cbs.com/read-8675.html

New Post(0)