Complete Separation of the 3 Tiers - Divide and Conquer
Victor Sadikov, Walter Pidkameny

TL;DR
This paper proposes a technique to achieve a complete separation of the three tiers in Java applications, improving readability, maintainability, and development efficiency by using explicit interface and data definitions.
Contribution
It introduces a method requiring explicit interface and data definitions to isolate tiers and generate auxiliary code, enhancing separation and development productivity.
Findings
Significantly improves tier separation in Java applications
Reduces complexity of language mixtures in code
Facilitates development and maintenance processes
Abstract
Most Java applications, including web based ones, follow the 3-tier architecture. Although Java provides standard tools for tier-to-tier interfaces, the separation of the tiers is usually not perfect. E.g. the database interface, JDBC, assumes that SQL statements are issued from the application server. Similarly, in web based Java applications, HTML code is assumed to be produced by servlets. In terms of syntax, this turns Java source code into mixtures of languages: Java and SQL, Java and HTML. These language mixtures are difficult to read, modify, and maintain. In this paper we examine criteria and methods to achieve a good separation of the 3 tiers and propose a technique to provide a clean separation. Our proposed technique requires an explicit Interface and Data Definitions. These allow isolation of the back-end, application server, and front-end development. The Definitions also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software System Performance and Reliability · Service-Oriented Architecture and Web Services
