企业级应用的概念和特点-程序员宅基地

技术标签: cobol  跨平台  企业级应用与信息系统  分布式计算  .net  数据库  internet  

1企业级应用概念

企业级应用是指那些为商业组织、大型企业而创建的解决方案及应用程序。这些人大型的企业级应用具有用户数多、数据量大、事务密集等特点,往往能够满足未来业务需要的变化,易于升级和维护。

一个好的企业级应用体系结构,通常来自优秀的解决方案,同时自应用程序设计的开始就要考虑其体系结构的合理性、灵活性、健壮性,从而既能满足企业级应用的复杂需求也能为今后系统的调整和升级留有余地。这样处理实际上是延长整个应用的生命周期,增强了用户在多变的商业社会中的适应性,减少了系统维护的开销和难度,从而给用户带来最大的利益。

2企业级应用的特点

企业级应用通常具有如下特点。

(1)数据持久化(Persistent data )。企业级应用需要持久保存数据。由于数据在程序运行中到处都要用到,因此必须持久保存而且通常要保存很多年。在这段时间里,使用数据的程序也会经常发生改变。常见的情况是,数据的寿命比创造它们的硬件系统、操作系统、编译器还要长。在这段时间里,在不影响原有信息的前提下,为了存储新的信息,数据的结构也会因此发生很多变化。有时企业为了处理一个业务,安装了一个全新的应用系统,那么这些数据也必须移植到新的应用系统上。

(2)海量数据的存储。一般来说,企业级应用包含的数据量是巨大的。一个中型的系统就会包含超过1GB的数据量一一被组织成上千万条记录。管理这些数据就成为这个系统的主要部分。较早的系统使用索引文件结构像IBMVSAM & ISAM。现代的系统经常使用数据库,大多数是关系型数据库。

(3)数据的并发访问。多用户并发地存取数据是企业级应用的常见情况。对很多系统来说,使用人员可能不到百人,但是对于基于InternetWeb系统来说,使用者的递增速率是几何级的。这么多的使用者,确保他们都能从系统中正常地访问数据就是一个非常重要的问题。但即使没有那么多用户,也要保证两个人不会在同一时刻对同一个数据进行存取。用户数量过多带来的沉重压力,通过事务管理工具来处理仅仅只能解决一部分。

(4)大量的用户图形界面。为了应付日益庞大的数据量,大量的UI界面被投入使用,所以即使出现成百上千个截然不同的界面也并不稀奇。普通用户与专业用户的习惯差异很大,他们很少有技术层面的专长。为了满足不同的需求,数据的表现形式也是千差万别的。

(5)需要和其它应用集成。企业级应用并不是信息孤岛,它们经常需要和遍布在企业角落的其它企业级应用集成在一起。这些系统通常是在不同的时期,采用不同的技术建成的,甚至协作的机制也各不相同,如可能是COBOL数据文件、CORBA、消息系统等。企业会尽力将其不同的系统通过一个通用的通信技术集成起来,但是即使这样也很难圆满地完成任务,所以企业会同时使用几套不同的集成方案。

(6)数据概念不统一。即使统一了集成的技术,也经常会碰到千差万别的业务处理方式和不统一的数据概念等问题。企业的一个部门可能会认为:顾客是一个和公司拥有正式协议的人;另一个部门会把那些曾经签订过合同的那些人也算上,虽然现在己经解除了;还有一个部门会把产品销售算进去,服务销售排除在外。乍听上去可能会感觉这很简单,很好解决,但是当成百上千条记录,在每个领域都有截然不同的意思时,问题的艰巨程度不能不说是  个严峻的挑战,即便公司里有人能够区分不同领域不同的意思。结果数据不得不被经常读取,按照各种各样的不同的语法或语义格式记录下来。

(7)复杂的业务逻辑。业务逻辑是由企业根据自身的需要制定的业务规则决定的。有时候规则会很随意,看上去似乎没有任何的逻辑。企业往往有自己特定的需求,特殊的情况。这些层出不穷的特例导致了业务的复杂性,无逻辑性,使得商业软件的开发十分困难。

3企业级应用面临的新挑战和解决之道

根据以上对分布式计算、企业级应用和他们相互关系的分析可以看出,随着Internet的发展,上述传统的分布式计算技术暴露出很多问题,已经不能满足供应链背景下的企业级应用的需要。无论使DCOMRMI还是.Net Remoting都使用自身而非业界标准的基于二进制代码的协议来实现机器间的集成,使得跨平台的应用程序在数据共享方面的能力相当有限。具体讲:

1、无论是DOOM, CORBARMI还是.Net Remoting,在跨Internet方面都存在着严重的缺陷:不能利用现有的Internet协议顺利穿过防火墙,必须使用各自对套接字的封装机制编程,这导致了功能和安全性失衡的缺陷。

2DOOM, CORBARMI.Net Remoting都只能限于自己的平台,相互使用不同的工作机制和二进制数据标准,直接的数据交换是不可能的。如果供应链上的各个系统使用不同的平台,那么必须借助其他的技术才能实现集成。这意味着协作程度的降低和成本的增高。

3DOOM, CORBARMI.Net Remoting技术无法贯彻面向服务的、以客户为中心的协作原则。在供应链上,每个组织都是其他组织的客户。合作的企业希望相互能够贯彻全方位服务客户的理念,组件级的集成调用、但又保持足够的独立性、适当的成本,成为新的重要需求。

基于Internet、面向服务、提供组件级的调用、跨平台的需要,促使了新一代基于Internet的面向服务的分布式对象技术——Web服务技术的产生。

 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sorichwalk/article/details/994097

智能推荐

C语言exit、abort、return的区别_exit abort return-程序员宅基地

文章浏览阅读979次。exit():在调用时,会做大部分清理工作,但是决不会销毁局部对象,因为没有stack unwinding。会进行的清理工作包括:销毁所有static和global对象,清空所有缓冲区,关闭所有I/O通道。终止前会调用经由atexit()登录的函数,atexit如果抛出异常,则调用terminate()。abort():调用时,不进行任何清理工作。直接终止程序。retrun:调用时,进行stack unwinding,调用局部对象析构函数,清理局部对象。如果在main中,则之后再交由系统调用ex_exit abort return

Eclipse 3.0 RC2 熱鍵表 (中英對照版,Default) -程序员宅基地

文章浏览阅读890次。◎閱讀說明:冒號 ( : )後的藍色標註熱鍵為Eclipse預設的標準熱鍵,空白即表示Eclipse並未對該項目設熱鍵;紅色標註選項表示常用或重要熱鍵;淡粉紅色標註選項,表示可以啟動該熱鍵的範圍。◎熱鍵修改處:Window->Preference->Workbench->Keys◎FAQ,如果沒設熱鍵的功能要如何啟動?方法一.自己增設熱鍵。方法二.熱鍵設定裡的選項,其實功能表大部分都有,可以由功能

[软件工程导论(第六版)]第5章 总体设计(复习笔记)_软件工程总体设计笔记-程序员宅基地

文章浏览阅读1.1k次。[软件工程导论(第六版)]第5章 总体设计(复习笔记)_软件工程总体设计笔记

Vue-admin-element 多层路由嵌套,子路由跳转不刷新页面增加tag签_vue-element-admin如何保持页面不刷新-程序员宅基地

文章浏览阅读1.7k次。使用 Vue-admin-element 作为基础框架,遇见一个需求,要把多个页面都放在某个页面的弹窗中,并且这些页面之间可以实现自己的路由跳转,不刷新父组件1、按照Vue文档,在router.js中写好子路由(参考路由嵌套) { // 在需要添加子路由的页面添加上children path: 'localCourse', component: () => import('@/views/course/local/localCourse'), _vue-element-admin如何保持页面不刷新

tar中的参数 cvf,xvf,cvzf,zxvf的区别_tar -zcvf 和tar-cvf的区别-程序员宅基地

文章浏览阅读3.2w次,点赞3次,收藏32次。linux命令中有几个压缩包所用的命令一直都混淆,在这里做个记录同时也供大家区分tar cvf etcbak.tar etc/ 打包一个tartar xvf etcbak.tar 解开一个tartar cvzf etcbak.tar.gz etc/ 打包压缩一个 tartar zxvf etcbak.tar.gz 解压一个tar..._tar -zcvf 和tar-cvf的区别

PHP的伪重载_php伪重载-程序员宅基地

文章浏览阅读327次。<?php<br /> 4//今天在看书的时候,发现书上有这么一条:函数重载的替代方法————伪重载 5// 6//确实,在PHP中没有函数重载这个概念,让很多时候我们无法进行一些处理,甚至有时候不得不在函数后面定义好N个参数 7//在看到了func_get_arg,func_get_args,func_num_args,这三个函数的时候,你们是不是想起了什么? 8//SO,let's try it_php伪重载

随便推点

Armbian (jammy) 上安装 Docker_armbian安装docker-程序员宅基地

文章浏览阅读8.3k次。Armbian (jammy) 上安装 Docker。_armbian安装docker

【java基础】ArrayList源码解析_arraylist一次添加多个元素-程序员宅基地

文章浏览阅读2.5k次。ArrayList是使用数组存储元素的的集合,能够自动进行扩容。ArrayList的类图如下该类拥有许多操作集合的方法,在这篇文章中将会debug几个常见的方法。这里先将ArrayList的成员属性以及注释列出来/**/**/**/*** @serial对于ArrayList,就理解为一个简单的数组即可,该数组会自动扩容(一般为1.5)。_arraylist一次添加多个元素

1102 教超冠军卷-程序员宅基地

文章浏览阅读77次。教育超市”是拼题 A 系统的一个衍生产品,发布了各种试卷和练习供用户选购。在试卷列表中,系统不仅列出了每份试卷的单价,还显示了当前的购买人次。本题就请你根据这些信息找出教育超市所有试卷中的销量(即购买人次)冠军和销售额冠军。

springboot 上传文件 thymeleaf_thymleaf form 文件上传-程序员宅基地

文章浏览阅读1.2k次。springboot 上传文件 thymeleaf本文主要说的是springboot使用thymeleaf上传文件pom.xml依赖 <!--web项目--> <dependency> <groupId>org.springframework.boot</groupId> ..._thymleaf form 文件上传

PTA 1088 三人行 (20 分) C++实现-程序员宅基地

文章浏览阅读170次。1088 三人行 (20 分)子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。输出格式:在一行中首先输出甲的能力值,随后依次输出甲、乙、

【slowfast复现 训练】训练过程 制作ava数据集 复现 SlowFast Networks for Video Recognition 训练 train_slowfast train-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏14次。目录前言 一,ava相关文件准备 1.1 空间准备(500G) 1.2 整体ava文件结构 1.3 frames文件 1.4 frame_lists 文件 1.5 annotations 文件 二,预训练模型 三,配置文件 3.1 创建新的yaml文件 3.2 yaml文件解释 四,训练前言b站视频讲解slowfast官网之前写了一个博客,是用slowfast的检测一个自己的视频的demo:【SlowFast复现】SlowFast Net_slowfast train