Reference Hub2
Reusable Business Tier Components: Based on CLI and Driven by a Single Wide Typed Service

Reusable Business Tier Components: Based on CLI and Driven by a Single Wide Typed Service

Óscar Mortágua Pereira (Instituto de Telecomunicações, DETI – University of Aveiro, Portugal), Rui L. Aguiar (Instituto de Telecomunicações, DETI – University of Aveiro, Portugal) and Maribel Yasmina Santos (Centro Algoritmi, DSI – University of Minho, Guimarães, Portugal)
Copyright: © 2014 |Volume: 2 |Issue: 1 |Article: 4 |Pages: 24
ISSN: 2166-7160|EISSN: 2166-7179|EISBN13: 9781466656598|DOI: 10.4018/ijsi.2014010104
Cite Article Cite Article

MLA

Pereira, Óscar Mortágua, Rui L. Aguiar and Maribel Yasmina Santos. "Reusable Business Tier Components: Based on CLI and Driven by a Single Wide Typed Service." IJSI 2.1 (2014): 37-60. Web. 27 Mar. 2020. doi:10.4018/ijsi.2014010104

APA

Pereira, Ó. M., Aguiar, R. L., & Santos, M. Y. (2014). Reusable Business Tier Components: Based on CLI and Driven by a Single Wide Typed Service. International Journal of Software Innovation (IJSI), 2(1), 37-60. doi:10.4018/ijsi.2014010104

Chicago

Pereira, Óscar Mortágua, Rui L. Aguiar and Maribel Yasmina Santos. "Reusable Business Tier Components: Based on CLI and Driven by a Single Wide Typed Service," International Journal of Software Innovation (IJSI) 2 (2014): 1, accessed (March 27, 2020), doi:10.4018/ijsi.2014010104

Export Reference

Mendeley
Favorite Full-Issue Download

Abstract

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.

References

Bauer C. King G. (2007). Java persistence with hibernate. Manning. 10.3139/9783446413825
Bracciali A. Brogi A. Canal C. (2005). A formal approach to component adaptation.Journal of Systems and Software, 74(1), 45–54. 10.1016/j.jss.2003.05.007
Cook, W., & Ibrahim, A. (2005). Integrating programming languages and databases: what is the problem? Retrieved from http://www.odbms.org/experts.aspx#article10
David M. (1990). Representing database programs as objects. In BancilhonF.BunemanP. (Eds.), Advances in database programming languages (pp. 377–386). ACM.
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/
Elizondo P. V. Lau K.-K. (2010). A catalogue of component connectors to support development with reuse.Journal of Systems and Software, 83(7), 1165–1178. 10.1016/j.jss.2010.01.008
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.
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.
Heineman G. T. Councill W. T. (2001). Component-based software engineering: Putting the pieces together (1st ed.). Addison-Wesley.
ISO. (2003). ISO/IEC 9075-3:2003. Retrieved from http://www.iso.org/iso/catalogue_detail.htm?csnumber=34134
Kung-Kiu L. Zheng W. (2007). Software component models.IEEE Transactions on Software Engineering, 33(10), 709–724. 10.1109/TSE.2007.70726
Laddad R. (2003). AspectJ in action: Practical aspect-oriented programming. Greenwich, CT: Manning Publications.
Mead G. Boehm A. (2011). ADO.NET 4 database programming with C# 2010. Mike Murach & Associates, Inc.
Microsoft. (1992). Microsoft open database connectivity. Retrieved from http://msdn.microsoft.com/en-us/library/ms710252(VS.85).aspx
Microsoft. (2000). Northwind and pubs sample databases for SQL server. Retrieved from http://www.microsoft.com/download/en/details.aspx?id=23654
Microsoft. (2013). RecordSet (ODBC). Retrieved from http://msdn.microsoft.com/en-us/library/5sbfs6f1.aspx
Oracle. (2012a). Connection. Retrieved from http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html
Oracle. (2012b). Interface prepared statement. Retrieved from http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html
Oracle. (2012c). Interface statement. Retrieved from http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html
Oracle. (2013). Result set. Retrieved from http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html
Oracle. (n.d.). Java data objects (JDO). Retrieved from http://www.oracle.com/technetwork/java/index-jsp-135919.html
Parsian M. (2005). JDBC recipes: A problem-solution approach. Apress.
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.
Pereira O. M. Aguiar R. L. Santos M. Y. (2011). 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.International Journal On Advances in Software, 4(1&2), 158–180.
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/
Pereira, Ó. 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.
Pereira, Ó. 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.
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.
Szyperky C. Gruntz D. Murer S. (2002). Component Software - Beyond Object-Oriented Programming. Addison-Wesley/ACM Press.
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.
Yang D. (2010). Java persistence with JPA. Outskirts Press.

Request Access

You do not own this content. Please login to recommend this title to your institution's librarian or purchase it from the IGI Global bookstore.