{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T15:23:31Z","timestamp":1781105011899,"version":"3.54.1"},"reference-count":31,"publisher":"IGI Global Scientific Publishing","issue":"1","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2014,1,1]]},"abstract":"<p>Call Level Interfaces (CLI) are software API used for building business tiers of relational database applications whenever performance is a key requirement. Nevertheless, their use is cumbersome, mainly in large database applications with many and complex Create, Read, Update and Delete (CRUD) expressions. CLI are low level API conveying several difficulties during the development process of relational business tiers. Four of them are herein emphasized: 1) Programmers need to master the schemas of the underlying databases; 2) the same CRUD expression is frequently re-written to address different business needs; 3) CLI are not suited to cope with evolving business tiers and, finally, 4) CLI do not provide any feature to decouple development process of relational business tiers from the development process of application tiers. To tackle these difficulties, this paper proposes an architecture for building reusable relational business tier components based on CLI herein referred to as the Reusable Business Tier Architecture (RBTA). It relies on a customizable wide typed service to address a business area, such as accountability. The typed service is able to manage CRUD expressions, deployed at runtime, on behalf of application tiers and in accordance with users' needs. The only constraint is that the required service to manage each CRUD expression must be a sub-set of the implemented wide typed service. A proof of concept is also presented.<\/p>","DOI":"10.4018\/ijsi.2014010104","type":"journal-article","created":{"date-parts":[[2014,8,1]],"date-time":"2014-08-01T16:18:05Z","timestamp":1406909885000},"page":"37-60","source":"Crossref","is-referenced-by-count":2,"title":["Reusable Business Tier Components"],"prefix":"10.4018","volume":"2","author":[{"given":"\u00d3scar Mort\u00e1gua","family":"Pereira","sequence":"first","affiliation":[{"name":"Instituto de Telecomunica\u00e7\u00f5es, DETI \u2013 University of Aveiro, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rui L.","family":"Aguiar","sequence":"additional","affiliation":[{"name":"Instituto de Telecomunica\u00e7\u00f5es, DETI \u2013 University of Aveiro, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Maribel Yasmina","family":"Santos","sequence":"additional","affiliation":[{"name":"Centro Algoritmi, DSI \u2013 University of Minho, Guimar\u00e3es, Portugal"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"2432","reference":[{"key":"ijsi.2014010104-0","doi-asserted-by":"publisher","DOI":"10.3139\/9783446413825"},{"key":"ijsi.2014010104-1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2003.05.007"},{"key":"ijsi.2014010104-2","unstructured":"Cook, W., & Ibrahim, A. (2005). Integrating programming languages and databases: what is the problem? Retrieved from http:\/\/www.odbms.org\/experts.aspx#article10"},{"key":"ijsi.2014010104-3","first-page":"377","article-title":"Representing database programs as objects","author":"M.David","year":"1990","journal-title":"Advances in database programming languages"},{"key":"ijsi.2014010104-4","unstructured":"Dinkelaker, T. (2011). AO4SQL: Towards an aspect-oriented extension for SQL. In Proceedings of the 8th Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'11), Zurich, Switzerland. Retrieved from http:\/\/tubiblio.ulb.tu-darmstadt.de\/52488\/"},{"key":"ijsi.2014010104-5","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2010.01.008"},{"key":"ijsi.2014010104-6","doi-asserted-by":"crossref","unstructured":"Fabry, J., & D'Hondt, T. (2006). KALA: Kernel aspect language for advanced transactions. In Proceedings of the 2006 ACM Symposium on Applied Computing, Dijon, France.","DOI":"10.1145\/1141277.1141655"},{"key":"ijsi.2014010104-7","doi-asserted-by":"crossref","unstructured":"Gregor Kiczales, J. L., Mendhekar, A., Maeda, C., Videira, C. L., Loingtier, J.-M., & Irwin, J. (1997). Aspect-oriented programming. In Proceedings of the ECOOP, Jyvaskyla, Finland.","DOI":"10.1007\/BFb0053381"},{"key":"ijsi.2014010104-8","author":"G. T.Heineman","year":"2001","journal-title":"Component-based software engineering: Putting the pieces together"},{"key":"ijsi.2014010104-9","unstructured":"ISO. (2003). ISO\/IEC 9075-3:2003. Retrieved from http:\/\/www.iso.org\/iso\/catalogue_detail.htm?csnumber=34134"},{"key":"ijsi.2014010104-10","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70726"},{"key":"ijsi.2014010104-11","author":"R.Laddad","year":"2003","journal-title":"AspectJ in action: Practical aspect-oriented programming"},{"key":"ijsi.2014010104-12","author":"G.Mead","year":"2011","journal-title":"ADO.NET 4 database programming with C# 2010"},{"key":"ijsi.2014010104-13","unstructured":"Microsoft. (1992). Microsoft open database connectivity. Retrieved from http:\/\/msdn.microsoft.com\/en-us\/library\/ms710252(VS.85).aspx"},{"key":"ijsi.2014010104-14","unstructured":"Microsoft. (2000). Northwind and pubs sample databases for SQL server. Retrieved from http:\/\/www.microsoft.com\/download\/en\/details.aspx?id=23654"},{"key":"ijsi.2014010104-15","unstructured":"Microsoft. (2013). RecordSet (ODBC). Retrieved from http:\/\/msdn.microsoft.com\/en-us\/library\/5sbfs6f1.aspx"},{"key":"ijsi.2014010104-16","unstructured":"Oracle. (2012a). Connection. Retrieved from http:\/\/docs.oracle.com\/javase\/6\/docs\/api\/java\/sql\/Connection.html"},{"key":"ijsi.2014010104-17","unstructured":"Oracle. (2012b). Interface prepared statement. Retrieved from http:\/\/docs.oracle.com\/javase\/6\/docs\/api\/java\/sql\/PreparedStatement.html"},{"key":"ijsi.2014010104-18","unstructured":"Oracle. (2012c). Interface statement. Retrieved from http:\/\/docs.oracle.com\/javase\/6\/docs\/api\/java\/sql\/Statement.html"},{"key":"ijsi.2014010104-19","unstructured":"Oracle. (2013). Result set. Retrieved from http:\/\/docs.oracle.com\/javase\/6\/docs\/api\/java\/sql\/ResultSet.html"},{"key":"ijsi.2014010104-20","unstructured":"Oracle. (n.d.). Java data objects (JDO). Retrieved from http:\/\/www.oracle.com\/technetwork\/java\/index-jsp-135919.html"},{"key":"ijsi.2014010104-21","author":"M.Parsian","year":"2005","journal-title":"JDBC recipes: A problem-solution approach"},{"key":"ijsi.2014010104-22","doi-asserted-by":"crossref","unstructured":"Pereira, O. M., Aguiar, R. L., & Santos, M. Y. (2010). CRUD-DOM: A model for bridging the gap between the object-oriented and the relational paradigms. In Proceedings of the ICSEA 2010 - Int. Conf. on Software Engineering and Applications, Nice, France.","DOI":"10.1109\/ICSEA.2010.25"},{"issue":"1&2","key":"ijsi.2014010104-23","first-page":"158","article-title":"CRUD-DOM: A model for bridging the gap between the object-oriented and the relational paradigms - an enhanced performance assessment based on a case study.","volume":"4","author":"O. M.Pereira","year":"2011","journal-title":"International Journal On Advances in Software"},{"key":"ijsi.2014010104-24","doi-asserted-by":"crossref","unstructured":"Pereira, O. M., Aguiar, R. L., & Santos, M. Y. (2011). A reusable business tier component with a single wide range static interface. In Proceedings of the 5th European Conference on Software Architecture (ECSA), Essen, Germany. Retrieved from http:\/\/www.springerlink.com\/content\/q88r227583701m55\/","DOI":"10.1007\/978-3-642-23798-0_24"},{"key":"ijsi.2014010104-25","doi-asserted-by":"crossref","unstructured":"Pereira, \u00d3. M., Aguiar, R. L., & Santos, M. Y. (2013a). A concurrent tuple set architecture for call level interfaces. In Proceedings of the 12th IEEE\/ACIS International Conference on Computer and Information Science (ICIS), Niigata, Japan.","DOI":"10.1007\/978-3-319-00804-2_11"},{"key":"ijsi.2014010104-26","doi-asserted-by":"crossref","unstructured":"Pereira, \u00d3. M., Aguiar, R. L., & Santos, M. Y. (2013b). Reusable business tier architecture driven by a wide typed service. In Proceedings of the 12th IEEE\/ACIS International Conference on Computer and Information Science (ICIS 2013), Niigata, Japan.","DOI":"10.1109\/ICIS.2013.6607830"},{"key":"ijsi.2014010104-27","unstructured":"Russell, A. M., & Ingolf, H. K. (2005). SQL DOM: Compile time checking of dynamic SQL statements. In Proceedings of the 27th Int. Conf. on Software Engineering, St. Louis, MO."},{"key":"ijsi.2014010104-28","author":"C.Szyperky","year":"2002","journal-title":"Component Software - Beyond Object-Oriented Programming"},{"key":"ijsi.2014010104-29","unstructured":"William, R. C., & Siddhartha, R. (2005). Safe query objects: Statically typed objects as remotely executable queries. In Proceedings of the 27th Int. Conf. on Software Engineering, St. Louis, MO."},{"key":"ijsi.2014010104-30","author":"D.Yang","year":"2010","journal-title":"Java persistence with JPA"}],"container-title":["International Journal of Software Innovation"],"original-title":[],"language":"ng","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=111449","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,7,15]],"date-time":"2023-07-15T13:52:31Z","timestamp":1689429151000},"score":1,"resource":{"primary":{"URL":"https:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/ijsi.2014010104"}},"subtitle":["Based on CLI and Driven by a Single Wide Typed Service"],"short-title":[],"issued":{"date-parts":[[2014,1,1]]},"references-count":31,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2014,1]]}},"URL":"https:\/\/doi.org\/10.4018\/ijsi.2014010104","relation":{},"ISSN":["2166-7160","2166-7179"],"issn-type":[{"value":"2166-7160","type":"print"},{"value":"2166-7179","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,1,1]]}}}