中企动力做网站行吗,网络服务端口,网站建设免费制作,抚州建设工程造价管理站网站nosql的数据服务在过去的几周中#xff0c;我一直在进行一些研发工作#xff0c;以了解使用NoSQL数据库实现实体服务 #xff08;也称为数据服务#xff09;的优势。 实体服务是Thomas Erl的《服务技术》丛书中提出的服务分类。 它用于描述高度不可知和可重复使用的服务我一直在进行一些研发工作以了解使用NoSQL数据库实现实体服务 也称为数据服务的优势。 实体服务是Thomas Erl的《服务技术》丛书中提出的服务分类。 它用于描述高度不可知和可重复使用的服务因为它们主要处理建模为业务数据“实体”的信息的持久性。 拥有这些实体服务的薄层的最终好处是可以轻松地重用它们以支持更复杂的服务组合。 在实体抽象SOA模式中进一步描述了此方法。 因此实体服务层是SOA中流行的体系结构选择实现它们对于Oracle和IBM这样的供应商来说意味着大笔生意他们两者都提供软件来支持这一任务。 在这一领域甚至还有一个单独的技术标准称为服务数据对象 简称SDO。 这一切都很好但是这些应用程序带有专用的服务器和专用的IDE并且都带有“重量级”。 如果您真正想要的只是在管理诸如产品或客户之类的简单规范数据类型的持久性的服务上执行一些简单的CRUD-F操作创建读取更新删除查找这些专用解决方案就会非常昂贵。 因此通常的基本实现方法是突破Java并使用具有JPA Java持久性API之类的常规关系数据库来帮助您进行对象/关系映射和持久性。 这是一个不错的选择它可以大大简化代码但是仍然存在挑战。 在将XML用作有效负载的Web服务中仍然存在在JAXB生成的Java对象和用于通过JPA持久化数据的Java对象之间进行转换的问题。 您可以使用HyperJaxB之类的东西用JPA注释来注释JAXB对象从而使结果数据对象具有双重用途但是您在版本控制方面仍然存在一些问题并且没有NoSQL的可伸缩性优势。 此外我之前在较早的博客中就使用过这种方法那么再次进行这种操作又有什么乐趣呢 使用NoSQL。 一个相对新颖且诱人的选择是使用NoSQL数据库进行持久存储。 在过去的几年中NoSQL数据库被证明非常受欢迎这主要是由于它们具有实现巨大的可伸缩性和强大的弹性的能力。 许多非常高知名度和高吞吐量的网站都使用NoSQL数据存储来管理和保留其数据包括GooleTwitterFoursquareFacebook和Ebay。 NoSQL一词用于描述“一类数据库管理系统该类数据库管理系统因不遵守广泛使用的关系数据库管理系统RDBMS模型而被识别” – Wikipedia 。 NoSQL数据存储区没有遵循基于关系表的方法的传统智慧而是选择了一种无模式的数据结构该结构通常以“文档为中心”并且能够在高度分布式的环境中支持大量数据。 选择NoSQL数据库。 有很多不同的NoSQL实现因此除了要说我的要求很简单之外在这里我将不做详细介绍。 我想要点东西... 可通过亚马逊和Jelastic等第三方PaaS提供商获得 使用文档存储方法与键/值或图相反 开源且免费提供 具有良好的Java API 具有良好的开发人员文档 可以在本地安装 我可以自己管理因为我不想成为一名DBA所以越轻松越好 最后我的数据库选择取决于两个市场领导者 MongoDB和CouchDB 。 Mongo有一个很棒的Java API在Java社区中很流行并且有很好的开发人员文档。 但是它的管理功能相当不友好只有一个命令行可以让您陪伴。 另一方面由于其“ Futon” UICouchDB更加友好。 CouchDB具有Mongo的大多数技术优势肯定是在此RD设置中但是它缺少现成的Java APIREST是默认接口。 幸运的是Java社区已经介入了许多用于CouchDB的本机Java驱动程序对我来说最好的是Ektorp库该库使用简单但也非常有效。 摘要。 我进行此研发活动的目标是 使用合同优先的方法绑定到SOAP的Web服务完全符合WS-I的合同以及预定义的数据结构实现可行的实体服务。 发现是否使用NoSQL数据库而不是JPA进行数据持久性和检索可以提高开发人员的生产率并减少实体服务实现的总体工作量。 使用以下SOA模式服务外观分离业务逻辑合同/模式集中化通过简单服务存储库托管的规范合同解耦合同并发合同SOAP和REST可能消息元数据标头和服务代理用于验证。 本质上我想通过使用尽可能少的Java代码来构建实体服务但同时保留契约优先的方法。 契约优先的方法对于良好的SOA开发至关重要因为它允许使用者和服务之间的松散耦合 并且不会破坏与许多技术特定的依赖关系如数据库表定义和数据类型之间的关系。 我将用于此开发的主要技术将是JavaJEEJax-WSJaxBCouchDB和Ektorp以及Glassfish v3。 和往常一样我还将使用Maven和Jenkins。 所有这些都是可用于生产的应用程序和框架但是由于它们是开源的所以到目前为止的总成本为0.00英镑。 在本系列的下一篇文章中我将告诉您如何从Web服务合同或“ WSDL”开始着手开发服务。 更新 似乎我一次走上潮流最近几天出现了许多有趣的NoSQL文章…… InfoQ询问“ 什么是CouchDB ”这是我大约一个月前可以完成的文章。 这是一个相当全面的“入门”指南其中包含有关CouchDB编码的更多详细信息。 因此我建议任何寻求一步一步的Java编码指南的人都可以立即查看该文章。 InfoQ文章还引用了架构师可能感兴趣的其他两个博客文章。 第一个是对多个不同NoSQL数据库 包括Cassandra Tom的比较第二个是方便的NoSQL选择指南 。 继续第2部分 。 参考 使用NoSQL实现实体服务–第1部分我们的JCG合作伙伴 Ben Wilcock在SOABPMAgile和Java博客上的概述 。 翻译自: https://www.javacodegeeks.com/2012/09/implementing-entity-services-using_10.htmlnosql的数据服务