學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 多租戶雲端應用程式之中介軟體框架
A Middleware Framework for Multi-tenant SaaS Applications
作者 陳俊傑
Chen, Jiu Jye
貢獻者 陳恭
Chen, Kung
陳俊傑
Chen, Jiu Jye
關鍵詞 軟體即服務
多租戶
物件關聯對映
Bytecode轉換
SaaS
Multi-tenant
ORM
Bytecode Transformation
日期 2012
上傳時間 1-Oct-2013 13:47:59 (UTC+8)
摘要 近年來,雲端運算中的軟體即服務(Software as Service,SaaS)穩健與快速地成長。SaaS服務提供者在建置服務的過程中,無不希望盡可能地讓租戶共享資源,避免租戶擁有特殊資源,需要獨立維護,以降低維護營運成本。另一方面,也要能讓租戶們擁有一定程度的客製化能力,以製做出屬於租戶私有之服務邏輯。因此如何讓租戶在共有一切資源的前提下,又能提供客製化能力,將是SaaS服務提供者的一大課題。本研究所提出的中介軟體框架將在共用硬體及資料庫與單一應用程式的共用架構下,採用Force.com Universal Table資料架構,並提供三大特色功能,Tenant Aware、Data Access以及Tenant Customizability,來解決隔離性、存取Force.com Universal Table資料架構以及提供租戶客製化能力三大議題。透過此中介軟體框架應可幫助SaaS提供者,建置出一個資源共享、租戶具有客製能力與維護性高的多租戶雲端軟體服務。
In recent years, Software as a service (SaaS), the service model of cloud computing, has been growing healthy and rapidly. When SaaS providers build service, they want tenants to share same resources, and not to have its own special resource which will cause providers to maintain it separately. SaaS providers want tenants sharing the same resources to reduce maintenance cost. But the current trend is to provide the customizability to tenants for customizing its own service. How to share resources under the premise of providing customizability to tenants will be the main challenge to SaaS providers. In this thesis, we propose a middleware framework based on shared hardware、database with a single application instance. Our framework will use the Force.com Universal Table schema as the foundation. The key features of our framework are Tenant Aware、Data Access and Tenant Customizability. These features will address the issues of isolating tenants, accessing the Force.com Universal Table schema and providing customizability to tenants. This middleware framework will help SaaS providers to build a resource-sharing, customizable multi-tenant SaaS with lower maintenance cost.
參考文獻 【1】P. Mell and T. Grance, “The NIST Definition of Cloud Computing,” NIST Special Publication 800-145, 2011.
【2】“Gartner Says Worldwide Software-as-a-Service Revenue to Reach $14.5 Billion in 2012,” available at http://www.gartner.com/newsroom/id/1963815
【3】C. Ospiov, G. Goldszmidt, M. Ta ylor and I.Podar,” Develop and Deploy Multi-Tenant Web-delivered Solutions using IBM middleware :Part 2 : Approaches for enabling multi-tenancy,” available at http://www.ibm.com/developerworks/webservices/library/ws-multitenantpart2/index.html
【4】F. Chong, G. Carraro, and R. Wolter, “Multi-Tenant Data Architecure,” available at http://msdn.microsoft.com/en-us/library/aa479086.aspx
【5】S. Aulbach, T. Grust, D. Jacobs, A. Kemper and J. Rittinger, “Multi-Tenant Databases for Software as a Service: Schema-Mapping Techniques,” in Proc. ACM International Conference on Management of Data, 2008.
【6】C. F. Liao, K. Chen and J. J. Chen, “Toward a Tenant-aware Query Rewriting Engine for Universal Table Schema-Mapping,” in Proc. IEEE International Conference on Cloud Computing Technology and Science, 2012.
【7】G. P. Copeland, S. N. Khoshafian, “A decomposition storage model,” in Proc. ACM SIGMOD International Conference on Management of Data, 1985.
【8】F. S. Foping, I. M. Dokas, J. Feehan, S. Imaran, “A New Hybrid Schema-Sharing Technique for Multitenant Applications,” in Proc. 4th International Conference on Digital Information of Management, 2009.
【9】J. Du, H. Y. Wen, Z. J. Yang, “Research on Data Layer Structure of Multi-tenant E-commerce System,” in Proc. 17th International Conference on Industrial Engineering and Engineering Management, 2010.
【10】D. Maier and J. D. Ullman, “Maximal objects and the semantics of universal relation databases,” in ACM Transactions on Database Systems, Vol. 8, No. 1, pp.1-14, 1983.
【11】C. D. Weissman and S. Bobrowski, “The design of the Force.com multitenant internet application development platform,” in Proc. ACM SIGMOD International Conference on Management of Data, 2009.
【12】T. Grust, M. V. Keulen, J. Teubner, “Accelerating XPath evaluation in any RDBMS, ” in ACM Transactions on Database Systems, Vol. 29, Issue. 1, pp.91-131, 2004.
【13】J. L. Beckmann, A. Halverson, R.Krishnamurthy and J. F. Naughton, “Extending RDBMSs to Support Sparse Datasets Using An Interpreted Attribute Storage Format, ” in Proc. 22nd International Conference on Data Engineering ,2006..
【14】“The Force.com Multitenant Architecure” available at
http://www.developerforce.com/media/ForcedotcomBookLibrary/Force.com_Multitenancy_WP_101508.pdf
【15】J. Pereira and T. C. Chiueh, “SQL Rewriting Engine and its Applications, ” in Technical Report, Stony Brook University, 2007.
【16】C. Li, “Transforming Relational Database into HBase: A Case Study, ” in Proc. IEEE International Conference on Software Engineering and Service Sciences , 2010.
【17】F. Chang , J. Dean, S. Ghemawat , W. C. Hsieh , D. A. Wallach , M. Burrows, T. Chandra, A. Fikes and R. E. Gruber, “Bigtable: A Distributed Storage System for Structured Data, ” in Proc. Symposium on Operating System Design and Implementation, 2006.
【18】A. Keller , R. Jensen, S. Agarwal, “Persistence software: bridgine object-oriented programming and relatioinal databases, ” in Proc. ACM SIGMOD International Conference on Management of Data, 1993.
【19】“What is Object/Relational Mapping ? ” available at
http://www.hibernate.org/about/orm
【20】List of object-relational mapping software available at
http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software
【21】G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, J. Irwin, “Aspect-Oriented Programming,” in Proc. European Conference on Object-Oriented Programming,1997.
【22】S. Hisashi, S. Kenji, K. Takayuki, N. Shoji, “Realization of the High-density SaaS Infrastructure with a Fine-grained Multitenant Framework,” in NEC Technical Journal, Vol. 5, No. 2, 2010.
【23】H. Cai, N. Wang and M. Zhou, “A Transparent Approach of Enabling SaaS Multi-tenancy in the Cloud,” in Proc. IEEE 6th World Congress on Services, 2010.
【24】Java ThreadLocal available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ThreadLocal.html
【25】R. Keller and U. Hölzle, “Binary Component Adaptation,” in Proc. the 12th European Conference on Object-Oriented Programming, 1998.
【26】Bytecode available at http://en.wikipedia.org/wiki/Bytecode
【27】ASM Users available at http://asm.ow2.org/users.html
【28】The DataNucleus Data Management Platorform available at http://www.datanucleus.org
【29】Java agent available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/package-summary.html
【30】Java Instrumentation available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html
【31】Java ClassFileTransformer available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/ClassFileTransformer.html
【32】Joomla available at http://www.joomla.org/
【33】RESTful available at https://en.wikipedia.org/wiki/Representational_state_transfer
【34】Spring Web MVC available at http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html
【35】JDO Annotations available at http://www.datanucleus.org/products/datanucleus/jdo/annotations.html
描述 碩士
國立政治大學
資訊科學學系
100971009
101
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0100971009
資料類型 thesis
dc.contributor.advisor 陳恭zh_TW
dc.contributor.advisor Chen, Kungen_US
dc.contributor.author (Authors) 陳俊傑zh_TW
dc.contributor.author (Authors) Chen, Jiu Jyeen_US
dc.creator (作者) 陳俊傑zh_TW
dc.creator (作者) Chen, Jiu Jyeen_US
dc.date (日期) 2012en_US
dc.date.accessioned 1-Oct-2013 13:47:59 (UTC+8)-
dc.date.available 1-Oct-2013 13:47:59 (UTC+8)-
dc.date.issued (上傳時間) 1-Oct-2013 13:47:59 (UTC+8)-
dc.identifier (Other Identifiers) G0100971009en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/61204-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 100971009zh_TW
dc.description (描述) 101zh_TW
dc.description.abstract (摘要) 近年來,雲端運算中的軟體即服務(Software as Service,SaaS)穩健與快速地成長。SaaS服務提供者在建置服務的過程中,無不希望盡可能地讓租戶共享資源,避免租戶擁有特殊資源,需要獨立維護,以降低維護營運成本。另一方面,也要能讓租戶們擁有一定程度的客製化能力,以製做出屬於租戶私有之服務邏輯。因此如何讓租戶在共有一切資源的前提下,又能提供客製化能力,將是SaaS服務提供者的一大課題。本研究所提出的中介軟體框架將在共用硬體及資料庫與單一應用程式的共用架構下,採用Force.com Universal Table資料架構,並提供三大特色功能,Tenant Aware、Data Access以及Tenant Customizability,來解決隔離性、存取Force.com Universal Table資料架構以及提供租戶客製化能力三大議題。透過此中介軟體框架應可幫助SaaS提供者,建置出一個資源共享、租戶具有客製能力與維護性高的多租戶雲端軟體服務。zh_TW
dc.description.abstract (摘要) In recent years, Software as a service (SaaS), the service model of cloud computing, has been growing healthy and rapidly. When SaaS providers build service, they want tenants to share same resources, and not to have its own special resource which will cause providers to maintain it separately. SaaS providers want tenants sharing the same resources to reduce maintenance cost. But the current trend is to provide the customizability to tenants for customizing its own service. How to share resources under the premise of providing customizability to tenants will be the main challenge to SaaS providers. In this thesis, we propose a middleware framework based on shared hardware、database with a single application instance. Our framework will use the Force.com Universal Table schema as the foundation. The key features of our framework are Tenant Aware、Data Access and Tenant Customizability. These features will address the issues of isolating tenants, accessing the Force.com Universal Table schema and providing customizability to tenants. This middleware framework will help SaaS providers to build a resource-sharing, customizable multi-tenant SaaS with lower maintenance cost.en_US
dc.description.tableofcontents 第一章 緒論 8
1.1研究背景 8
1.2研究動機 11
1.2.1資料綱要 11
1.2.2領域邏輯 14
1.2.3外觀 14
1.2.4小結 15
1.3研究目標 15
1.4論文貢獻 16
1.5論文之限制 16
1.6論文章節架構 17
第二章 相關研究與技術背景 18
2.1多租戶SaaS資料層設計 18
2.2 Force.com Universal資料架構 21
2.2.1 Objects、Fields、Data資料表 22
2.2.2 Indexes、UniqueFields資料表 24
2.2.3 Relationships資料表 25
2.3多租戶SaaS資料存取 27
2.4多租戶SaaS隔離性 28
2.5 Bytecode轉換工程 29
第三章 中介軟體框架 31
3.1中介軟體框架設計目標 31
3.2框架特色 32
3.2.1 Tenant Aware 32
3.2.2 Data Access 33
3.2.3 Tenant Customizability 33
3.3框架架構設計 34
3.4框架實作設計 36
3.4.1 Tenant Context 36
3.4.2 Object Relational Mapping 37
3.4.3 UtbDBService 40
3.4.4 Customization API 49
3.4.5 Bytecode Transformation 51
第四章 多租戶SaaS實作 54
4.1多租戶SaaS架構設計 54
4.2多租戶SaaS實作設計 56
4.2.1 Tenant Aware使用方式 56
4.2.2 Data Access使用方式 57
4.2.3 Tenant Customizability使用方式 59
4.3多租戶SaaS效能測試 61
第五章 結論與未來研究方向 66
5.1結論 66
5.2未來研究方向 67
參考文獻 69
zh_TW
dc.format.extent 1622223 bytes-
dc.format.mimetype application/pdf-
dc.language.iso en_US-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0100971009en_US
dc.subject (關鍵詞) 軟體即服務zh_TW
dc.subject (關鍵詞) 多租戶zh_TW
dc.subject (關鍵詞) 物件關聯對映zh_TW
dc.subject (關鍵詞) Bytecode轉換zh_TW
dc.subject (關鍵詞) SaaSen_US
dc.subject (關鍵詞) Multi-tenanten_US
dc.subject (關鍵詞) ORMen_US
dc.subject (關鍵詞) Bytecode Transformationen_US
dc.title (題名) 多租戶雲端應用程式之中介軟體框架zh_TW
dc.title (題名) A Middleware Framework for Multi-tenant SaaS Applicationsen_US
dc.type (資料類型) thesisen
dc.relation.reference (參考文獻) 【1】P. Mell and T. Grance, “The NIST Definition of Cloud Computing,” NIST Special Publication 800-145, 2011.
【2】“Gartner Says Worldwide Software-as-a-Service Revenue to Reach $14.5 Billion in 2012,” available at http://www.gartner.com/newsroom/id/1963815
【3】C. Ospiov, G. Goldszmidt, M. Ta ylor and I.Podar,” Develop and Deploy Multi-Tenant Web-delivered Solutions using IBM middleware :Part 2 : Approaches for enabling multi-tenancy,” available at http://www.ibm.com/developerworks/webservices/library/ws-multitenantpart2/index.html
【4】F. Chong, G. Carraro, and R. Wolter, “Multi-Tenant Data Architecure,” available at http://msdn.microsoft.com/en-us/library/aa479086.aspx
【5】S. Aulbach, T. Grust, D. Jacobs, A. Kemper and J. Rittinger, “Multi-Tenant Databases for Software as a Service: Schema-Mapping Techniques,” in Proc. ACM International Conference on Management of Data, 2008.
【6】C. F. Liao, K. Chen and J. J. Chen, “Toward a Tenant-aware Query Rewriting Engine for Universal Table Schema-Mapping,” in Proc. IEEE International Conference on Cloud Computing Technology and Science, 2012.
【7】G. P. Copeland, S. N. Khoshafian, “A decomposition storage model,” in Proc. ACM SIGMOD International Conference on Management of Data, 1985.
【8】F. S. Foping, I. M. Dokas, J. Feehan, S. Imaran, “A New Hybrid Schema-Sharing Technique for Multitenant Applications,” in Proc. 4th International Conference on Digital Information of Management, 2009.
【9】J. Du, H. Y. Wen, Z. J. Yang, “Research on Data Layer Structure of Multi-tenant E-commerce System,” in Proc. 17th International Conference on Industrial Engineering and Engineering Management, 2010.
【10】D. Maier and J. D. Ullman, “Maximal objects and the semantics of universal relation databases,” in ACM Transactions on Database Systems, Vol. 8, No. 1, pp.1-14, 1983.
【11】C. D. Weissman and S. Bobrowski, “The design of the Force.com multitenant internet application development platform,” in Proc. ACM SIGMOD International Conference on Management of Data, 2009.
【12】T. Grust, M. V. Keulen, J. Teubner, “Accelerating XPath evaluation in any RDBMS, ” in ACM Transactions on Database Systems, Vol. 29, Issue. 1, pp.91-131, 2004.
【13】J. L. Beckmann, A. Halverson, R.Krishnamurthy and J. F. Naughton, “Extending RDBMSs to Support Sparse Datasets Using An Interpreted Attribute Storage Format, ” in Proc. 22nd International Conference on Data Engineering ,2006..
【14】“The Force.com Multitenant Architecure” available at
http://www.developerforce.com/media/ForcedotcomBookLibrary/Force.com_Multitenancy_WP_101508.pdf
【15】J. Pereira and T. C. Chiueh, “SQL Rewriting Engine and its Applications, ” in Technical Report, Stony Brook University, 2007.
【16】C. Li, “Transforming Relational Database into HBase: A Case Study, ” in Proc. IEEE International Conference on Software Engineering and Service Sciences , 2010.
【17】F. Chang , J. Dean, S. Ghemawat , W. C. Hsieh , D. A. Wallach , M. Burrows, T. Chandra, A. Fikes and R. E. Gruber, “Bigtable: A Distributed Storage System for Structured Data, ” in Proc. Symposium on Operating System Design and Implementation, 2006.
【18】A. Keller , R. Jensen, S. Agarwal, “Persistence software: bridgine object-oriented programming and relatioinal databases, ” in Proc. ACM SIGMOD International Conference on Management of Data, 1993.
【19】“What is Object/Relational Mapping ? ” available at
http://www.hibernate.org/about/orm
【20】List of object-relational mapping software available at
http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software
【21】G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, J. Irwin, “Aspect-Oriented Programming,” in Proc. European Conference on Object-Oriented Programming,1997.
【22】S. Hisashi, S. Kenji, K. Takayuki, N. Shoji, “Realization of the High-density SaaS Infrastructure with a Fine-grained Multitenant Framework,” in NEC Technical Journal, Vol. 5, No. 2, 2010.
【23】H. Cai, N. Wang and M. Zhou, “A Transparent Approach of Enabling SaaS Multi-tenancy in the Cloud,” in Proc. IEEE 6th World Congress on Services, 2010.
【24】Java ThreadLocal available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ThreadLocal.html
【25】R. Keller and U. Hölzle, “Binary Component Adaptation,” in Proc. the 12th European Conference on Object-Oriented Programming, 1998.
【26】Bytecode available at http://en.wikipedia.org/wiki/Bytecode
【27】ASM Users available at http://asm.ow2.org/users.html
【28】The DataNucleus Data Management Platorform available at http://www.datanucleus.org
【29】Java agent available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/package-summary.html
【30】Java Instrumentation available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/Instrumentation.html
【31】Java ClassFileTransformer available at http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/ClassFileTransformer.html
【32】Joomla available at http://www.joomla.org/
【33】RESTful available at https://en.wikipedia.org/wiki/Representational_state_transfer
【34】Spring Web MVC available at http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html
【35】JDO Annotations available at http://www.datanucleus.org/products/datanucleus/jdo/annotations.html
zh_TW