使用.Net平台构建企业应用系统场(下)

简介:

  接上文

    许多资料和专家都在强调,系统开发应当抽象与封装变化,这样才能做到业务无关性,但只是这一个系统的业务无关性,不是全局的,这是一种向内塌陷的抽象,也是目前软件工程只用于形不具其神的表现。即使软件设计时考虑到接口的存在,也只是为了完成某一业务流程或目的,设计的接口,这些接口是没有抽象,是具有强业务相关性的!这不是敏捷、应用集群的特性。

    2.实施了局部信息化应用

    企业只有实施了信息化,有了一个个相当独立的信息系统-“信息岛”,才有可能出现所谓的“孤岛”。

    3.现有系统之间出现了不能满足的信息沟通需求

    “信息岛”之间出现了不能满足的信息共享或信息沟通需求,是信息孤岛的又一个必要条件。如果“信息岛”之间没有任何信息沟通的渠道,虽然在客观上已经形成孤立的“岛屿”,但是,这些孤岛之间如果没有信息沟通的需求,也不算是信息孤岛。

    4.系统本身缺乏满足新的信息共享需求的能力

    现有系统之间出现了新的信息共享需求,又无法通过调整系统配置建立相互之间的沟通、满足新的要求时,信息孤岛就出现了。

    怎样解决这个问题,同时具有比较高的投资收益呢?

    再讲这个问题前,需要先了解一下SOA以及搭建在这种架构方式上的“系统场”的概念。

           

                                                   多重复用的场组件

    面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

    这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。

    对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需(On demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。

    所谓“系统场”即是搭建在SOA思想上的一种企业系统模型,多个系统的业务逻辑层抽象为WebService,组成一个全局“场”,每个系统间可以通过这个场获得需要的业务模型。结合上面举过的采购、生产例子,每套系统之间已经没有具体的边界,而是通过一个集成后的业务容器来完成各自的任务,这就是“场”的作用与工作方式。

    怎样实现与交互“场”中的逻辑呢?

    Web Services是一种新型的面向服务的体系结构,相对传统的技术。该计算模型通过提供动态的服务接口来实施一个动态的继承,实现了发布服务的应用程序和使用服务的应用程序之间的松散耦合。同时Web Services允许将应用程序划分为一些小的逻辑组件,使业务集成在小粒度的基础上变得更加容易。

    Web Services是由URL标识的软件应用程序,其接口和绑定可以通过XML构件进行定义、描述和发现,Web服务支持通过基于Internet的协议及使用基于XML的消息与其他软件应用程序直接交互。其主要特点体现在:

  1)协议的通用性。

  2)完全的平台、语言独立性。

  3)软件重用。

     另外,Web Services以技术栈的形式规范了Web Services体系中的各类关键技术,包括服务的描述、发布、发现以及消息的传输等。

    Web Services体系使用SOAP协议在实现应用与服务之间的通信,用WSDL文件对服务进行标准的描述。SOAP和WSDL都是基于XML的,这保证了XML的跨平台操作。同时,SOAP一般使用标准的HTTP协议,可以透明地穿透防火墙。

  1)Web Services促进了互操作性。

  2)Web Services促使即时集成。

  3)Web Services通过封装减少了复杂程度。

    3.3 Web Services与应用集成

    应用集成解决方案可以呈现许多种形式并以多种级别出现。而适应应用集成中间件解决方案的3个主要类型有:数据集成、业务流程集成、函数或方法集成。Web Services能彻底地改变传统的应用集成中点对点的集成处理方式。使用Web Services,通过松散的应用集成,可以仅仅实现应用集成的一个子集,即能取得实效。与之相反,应用集成要实现一个全盘的方案,来紧密的集成和联系支持业务的所有的系统和应用。Web Services,以一种松散的服务捆绑集合形式,能够快速、低代价地开发、发布、发现和动态绑定应用。

    以WFMC的工作流管理系统参考模型为基础,结合具体的Web服务技术,一种面向Web Services的工作流模型应包括服务门户、服务驱动引擎、服务注册中心、消息总线、信息资源库、Web Services组件、过程定义工具、以及服务流程管理工具等组成部分。

    综上,利用WebService技术,结合业务模块粒度评估与划分组成的企业系统“场”能够解决信息孤岛,并很好的实现了业务流的共享。



本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2009/12/15/1624947.html,如需转载请自行联系原作者

相关文章
|
2月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
123 10
|
7天前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
30 5
|
9天前
|
存储 设计模式 编解码
.NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
【11月更文挑战第5天】本文分析了.NET 8.0 通用管理平台在模块化、WinForms 和 WPF 方面的优势。模块化设计提升了系统的可维护性和可扩展性,提高了代码复用性;WinForms 提供了丰富的控件库和简单易用的开发模式,技术成熟稳定;WPF 支持强大的数据绑定和 MVVM 模式,具备丰富的图形和动画功能,以及灵活的布局系统。
|
23天前
|
关系型数据库 C# 数据库
.NET 8.0 开源在线考试系统(支持移动端)
【10月更文挑战第27天】以下是适用于 .NET 8.0 的开源在线考试系统(支持移动端)的简介: 1. **基于 .NET Core**:跨平台,支持多种数据库,前后端分离,适用于多操作系统。 2. **结合 Blazor**:使用 C# 开发 Web 应用,支持响应式设计,优化移动端体验。 3. **基于 .NET MAUI**:跨平台移动应用开发,一套代码多平台运行,提高开发效率。 开发时需关注界面设计、安全性与稳定性。
|
30天前
|
Windows
.NET 隐藏/自定义windows系统光标
【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。
|
2月前
|
JSON 安全 数据安全/隐私保护
从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用
【9月更文挑战第22天】在.NET 8中,从零开始搭建权限管理系统并使用JWT(JSON Web Tokens)创建Token是关键步骤。JWT是一种开放标准(RFC 7519),用于安全传输信息,由头部、载荷和签名三部分组成。首先需安装`Microsoft.AspNetCore.Authentication.JwtBearer`包,并在`Program.cs`中配置JWT服务。接着,创建一个静态方法`GenerateToken`生成包含用户名和角色的Token。最后,在控制器中使用`[Authorize]`属性验证和解析Token,从而实现身份验证和授权功能。
129 3
|
3月前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
54 5
|
3月前
|
机器学习/深度学习 人工智能 算法
【悬念揭秘】ML.NET:那片未被探索的机器学习宝藏,如何让普通开发者一夜变身AI高手?——从零开始,揭秘构建智能应用的神秘旅程!
【8月更文挑战第28天】ML.NET 是微软推出的一款开源机器学习框架,专为希望在本地应用中嵌入智能功能的 .NET 开发者设计。无需深厚的数据科学背景,即可实现预测分析、推荐系统和图像识别等功能。它支持多种数据源,提供丰富的预处理工具和多样化的机器学习算法,简化了数据处理和模型训练流程。
54 1
|
3月前
|
存储 缓存 安全
.NET 在金融行业的应用:高并发交易系统的构建与优化之路
【8月更文挑战第28天】在金融行业,交易系统需具备高并发处理、低延迟及高稳定性和安全性。利用.NET构建此类系统时,可采用异步编程提升并发能力,优化数据库访问以降低延迟,使用缓存减少数据库访问频率,借助分布式事务确保数据一致性,并加强安全性措施。通过综合优化,满足金融行业的严苛要求。
49 1
|
3月前
|
大数据 开发工具 开发者
从零到英雄:.NET核心技术带你踏上编程之旅,构建首个应用,开启你的数字世界探险!
【8月更文挑战第28天】本文带领读者从零开始,使用强大的.NET平台搭建首个控制台应用。无论你是新手还是希望扩展技能的开发者,都能通过本文逐步掌握.NET的核心技术。从环境搭建到创建项目,再到编写和运行代码,详细步骤助你轻松上手。通过计算两数之和的小项目,你不仅能快速入门,还能为未来开发更复杂的应用奠定基础。希望本文为你的.NET学习之旅开启新篇章!
33 1

热门文章

最新文章