优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

基于Web服务的异构数据集成设计

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

摘   要
企业对信息技术的应用经历了不同的阶段。各阶段的应用,无论是开发语言、部署平台、通信协议还是数据格式及架构都存在较大的差异,如何将企业内部的“信息孤岛”联系起来,实现信息的交互和共享,已成为实现企业战略目标的必需手段和捷径。
数据集成是企业应用集成的根基,决定着企业集成的成败。数据集成是将一个异构的,存在冲突的,分散的源数据抽取出来,进行相应的结构和数据转换后加载到目标系统中的过程。数据集成分为三个步骤:集成分析,数据分析,数据迁移。
本设计的内容是以湖南大学学生管理系统和公寓管理系统为例,分析系统数据来源及相互关系,总结公共信息模型,从而设计并实现整合后的数据仓库。本设计利用数据库和.NET Framework相关知识实现为源系统定制的ETL工具,将数据从源系统中提取出来,经过相应转换和清洗,最终加载到数据仓库;该工具拥有记录和显示数据加载的状态,导入导出状态文件,根据状态文件继续尚未完成的导库工作等功能。集成流程必须最优利用源系统,并对未来需求可扩展,因此本设计利用NHibernate实体映射解决数据仓库中数据字段和页面逻辑层数据绑定字段的冲突,以Web服务提供数据仓库中数据的管理,此为数据消费的过程,目的在于达成源系统数据实时更新和一致的目标。 copyright think58 [资料来源:http://www.THINK58.com]

关键字:数据集成;ETL;数据仓库;NHibernate实体映射
The research actualities between the domestic and abroad
Looking at the applications and databases that make up the application integration problem domain, generally it comes down to two choices—coupling or cohesion.
Coupling, in the context of application integration, is the binding of applications together in such a way that they are dependent on each other, sharing the same methods, interfaces, and perhaps data.
At first glance, coupling may seem like the perfect idea. However, what it really requires is the tight binding of one application domain to the next. As a consequence of this important requirement, all coupled applications and databases will have to be extensively changed to couple them. Further, as events and circumstances evolve over time, any change to any source or target system demands a corresponding change to the coupled systems as well. Coupling creates one application and database out of many, with each tightly dependent upon the other.

think58

[来源:http://www.think58.com]


Because coupling requires changes to source and target systems, it may not fit with most application integration problem domains, where the participating systems are not under central control.
In contrast to coupling, cohesion is the "act or state of sticking together" or "the logical agreement." Cohesively integrated applications and databases are independent from one another. Changes to any source or target system should not affect the others directly. In this scenario, information can be shared between databases and applications without worrying about changes to the applications or databases, leveraging some type of loosely coupled middleware layer to move information between applications, and make adjustments for differences in application semantics.
But there are also tradeoffs to be considered. Cohesion provides the greatest flexibility as the application integration solution moves into the future. Systems can be added to, changed, or removed from a cohesive application integration solution without typically requiring changes to any of the other systems in the problem domain. Integration brokers provide the technology infrastructure of most cohesive application integration solutions. They are able to account for the differences between systems, accommodating differences in application semantics within a middle-tier process. 内容来自think58 [来源:http://think58.com]
Despite cohesion's flexibility, if common business processes are to be reused, then a coupled approach provides more value. Distributed objects, transaction processing monitors, application servers, and of course, web services provide a good technology solution for a coupled application integration solution. And in this design, web service is chosen as the way to realize the information oriented application integration.
4.3.1 Introduction to NHibernate
NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of entities and relationships, NHibernate automatically generates SQL for loading and storing the objects. Optionally, mapping metadata with attributes also can be applied into the source code.
NHibernate supports transparent persistence, object classes don't have to follow a restrictive programming model. Persistent classes do not need to implement any interface or inherit from a special base class. This makes it possible to design the business logic using plain .NET objects and object-oriented idioms [6]. 内容来自think58 [资料来源:http://www.THINK58.com]
Key features of NHibernate are as following:
1. Natural programming model: NHibernate supports natural OO idiom; inheritance, polymorphism, composition and the .NET collections framework, including generic collections;
2. Native .NET: NHibernate API uses .NET conventions and idioms;
3. Support for fine-grained object models: NHibernate has a rich variety of mappings for collections and dependent objects;
4. Byte code enhancement: There's no extra code generation or byte code processing steps in the build procedure in NHibernate;
5. The query options: NHibernate addresses both sides of the problem; not only how to get objects into the database, but also how to get them out again;
6. Custom SQL: It specifies the exact SQL that NHibernate should use to object persistence in current projects. Stored procedures are supported on Microsoft SQL Server;
7. Support for "conversations": NHibernate supports long-lived persistence contexts, detach/reattach of objects, and takes care of optimistic locking automatically; 本文来自think58 [来源:http://www.think58.com]
8. Free/open source: NHibernate is licensed under the LGPL (Lesser GNU Public License).
4.3.2 Application of NHibernate
Except the advantages mentioned above, the particular reason of applying NHibernate in the design is to get rid of conflicts between binding fields in UI logic and data columns in data warehouse. The situation is caused from source applications are not developed at the same time, which has been mentioned in the first chapter.
Conflicts have been found out in the phase of data analysis, and naming conflicts have a heavy proportion in the whole result. There are two ways to shield these differences, one is to change bound fields in UI to fit into the data columns in data warehouse, but it will cause problems that you need to understand UI logic, in order to find all the bound fields. If there is any mistake, it's hard to figure out where the mistake lies exactly; the other is to make some transformation in web service layer, which is a more active model.
To apply NHibernate, there are following steps [7]: [资料来源:http://www.THINK58.com]

[资料来源:www.THINK58.com]