1.过渡技术的Ajax及ApusicJSF是什么样的?
1。
前言 在J2EE下一代规范Java EE 5。0中,JSF(Java Server Faces)技术被放到了一个非常重要的地位。
J2EE社区试图通过JSF来统一Web应用的开发模式与方法。 相对于传统的基于JSP/Servlet的开发模型,JSF能够带来许多好处,譬如: 可定制的丰富的UI组件 良好的事件响应机制 表达式语言(Expression Language) 表单数据的自动转换与验证 基于MVC的框架模型等等。
但同时我们也不得不看到,业界常见的JSF引擎普遍存在着一些缺陷与不足(并不是说JSF技术模型本身的局限,而是常规的实现机制所产生的一些问题),而这些不足将可能对JSF成为日后Web应用主流开发技术带来一定的负面影响,包括: 常规的JSF实现机制,运行期性能并不是非常理想 缺少良好的工具支持 作为JCP组织成员,金蝶中间件对待JSF技术又是如何思考的?是否打算对JSF进行全面支持?又是通过怎样的解决方案来克服上述不足的呢? 2。 JSF与Ajax 一谈到Web开发技术,就不得不提Ajax。
这是目前在整个IT界都红得发紫的概念了。在这里我想没必要再去阐述一遍什么是Ajax,但我们可以对Ajax有一个基本的认识。
Ajax其实是一种新瓶装旧酒的技术,它的好处是通过Java Script与DHTML,提供了一种异步编程模型,从而使我们的Web应用给客户带来更好的人机体验。 但Ajax解决问题的层面很低;或者说,它解决问题的方法与手段,很难形成一种可高度抽象的框架级解决方案,而JSF则是一种可扩展的框架级解决方案。
事实上,我认为Ajax是一种过渡技术,相信在未来一到两年之内将被新的技术所代替,是微软的XAML、Mozilla的XUL、还是任何可能的RIA标准,实际上整个业界都在观望。 但不管采用什么技术,JSF都能适应,对JSF来说适应一个新技术只是更换一个Render Kit而已。
举一个例子,如果想在网页中实现图表功能(Chart),MSIE有VML,Gecko和Opera有SVG,而在服务器端只需要简单地判断一下浏览器类型就可以选择一个Render Kit生成不同的markup来完成相同的功能,这是用常规JSP技术很难完成的任务。 3。
Apusic JSF:中国人做出的JSF引擎 3。1 容器级别的Ajax支持 目前有JSF + Ajax这种思路的,恐怕也不是金蝶中间件一家,但很多第三方的JSF + Ajax实现是提供一个组件库以及一个附加的Servlet 或Filter来处理Ajax请求,而我们是直接由JSF容器来处理Ajax请求的。
我们会根据请求的类型来判断这是一个正常的HTTP请求还是一个 Ajax请求。如果是一个常规HTTP请求就运行JSP页面,生成页面文档(并且我们会在生成的页面文档中嵌入Ajax所必须的Java Script代码,后文提及);如果该请求是一个Ajax请求,服务器对请求参数正常解码,并执行JSF中除页面输出阶段以外的所有其他阶段,这时将生成一个JSF的组件树,遍历该组件树,从中找出发生变化的数据,并将这些数据打包成一个Ajax应答,并由客户端来更新这些修改的数据,甚至改变页面外观。
在JSF规范中,JSF页面输出阶段所采用的Render Kit是可替换的,默认的HTML_BASIC Render Kit输出的是标准的HTML语法,不包含任何Java Script代码,Apusic JSF引擎实现了一个 AJAX Render Kit,可以在HTML文档中嵌入Java Script代码来实现Ajax特性,而替换Render Kit只需要修改配置文件即。
2.esb是什么手术
ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
ESB的五个基本功能:
1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址管理功能。
2)传输服务: 必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。
3)中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。
4)多种服务集成方式: 如JCA,Web服务,Messaging ,Adaptor等.
5)服务和事件管理支持: 如服务调用的记录、测量和监控数据;提供事件检测、触发和分布功能;
ESB的八个扩展功能:
1)面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;
2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;
3)通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;
4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
5)服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。
6)服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;
7)服务质量: 事务,服务的可交付性等;
8)服务等级: 性能、可用性等。
ESB 中最常提到的两个功能是消息转换和消息路由。
参考资料:如果您的回答是从其他地方引用,请表明出处
3.SOA到底是什么
对于SOA,目前我听到有两种说法:一种讲它是"颠覆性的革命架构",一种是"谨慎观望"。
但无疑,SOA最近几年发展得非常快,各主要软件厂商纷纷高调跟进,关于SOA的报道可以说是不绝于耳。对"SOA热",程序员们有的兴奋和期待,有的则感到困惑,最近我在金蝶中间件于广州、上海等城市举行的"Java俱乐部"上和程序员们交流时,他们或是以一种朝圣者的表情说:"以前面向对象的技术过时了,SOA时代来了",或者一再恳切地追问我:" 那么,SOA是什么?到底能解决什么问题、解决得怎样?我们和客户都准备好了吗?我给出的答案是"Just Processing,SOA-现在进行中"。
SOA到底是什么?SOA(Service-Oriented Architecture)的定义是面向服务的架构,就是说将软件按照功能设计成一个个服务,这些服务用标准的方式定义接口、并通过标准的协议进行调用。SOA所定义的接口和调用方式是独立于编程语言和运行平台的,广义上讲SOA可以基于不同的底层技术实现,比如CORBA和Web Services。
但CORBA由于过于复杂和臃肿已很少使用,所以目前所说的SOA绝大多数是基于Web Services技术实现。在Web Services的实现方式下,SOA服务的接口用XML进行定义。
在SOA架构下,软件开发从业务流程分析开始,使用组件化业务建模的方法识别和分析各种业务模型,将各种实践融入其中,在这个基础上建立用例,用例直接产生BPEL,这些BPEL则可以被融入一个服务整合框架中,其描述了各种服务的信息,从而把ESB上的各个模块统一起来,形成一个巨大的服务仓。这样,SOA甚至是所有软件人员的一个梦:将中间层再进行抽离,在中间层作一个跨技术架构的元数据和业务逻辑,使之成为跨技术架构的、可长期继承、并不断积累的企业业务库和最宝贵的信息资产,也就是面向服务的组件库,而且这个服务组件库也可以被其它企业复用,且不依赖于任何一种技术架构。
夸张一点说,如果所有软件企业都使用SOA架构,那么世界软件业将会发生彻底的改变。显然,这样一个框架不是一种产品,也不仅仅是一种技术,而是一种解决问题的方法论。
SOA可能应用的两个场景及现有问题那么,SOA要解决的问题是什么?我认为,从技术本质上讲,SOA可能应用于两个场景:第一种是业务互通互联;第二种是封闭交易系统,即将元数据和业务逻辑抽离,形成可复用。举个例子,在第一种场景中,当不同企业之间的业务需要相互调用,这时就可能采用SOA技术;在第二种场景中,在企业内部需要将系统进行迁移时,利用SOA技术定义的原有数据和业务流程,可以很快完成。
无疑,SOA是一个伟大的思想,它试图定义一个大家(各种软件厂商)都"认"的、都"遵循"的法则,大家都使用这样的方法来进行互联互通,从而实现无界限的联通,以及服务组件库的继承和复用,解放无效和重复劳动。打一个不那么恰当的比喻,就像人类的语言一样。
SOA或许就像《圣经》中那个著名的"通天塔"的故事:人们用同一种语言交流产生的威力是如此之大,以至于他们在巴比伦几乎要修成一个"通天塔",直达上帝所在的天庭。但是,在SOA应用的两个场景中,现存的问题同样也是明显的:第一种场景:业务互联互通,就是应用系统互联。
业务互联,与其说是技术问题,不如讲是业务问题,例如ERP、CRM的异步整合,数据层面整合都不能很好将两个系统整合,SOA仅仅是一种实现工具之一,整合效果并不会好不到那里去。我们可以说,在没有其他选项之前,SOA是一种最"不坏"的方式,但它并不能解决所有的问题,实际上EAI的牵涉面很广,而我们知道,有些问题并不是单纯靠技术就能解决的。
第二种场景:封闭交易系统,缺点是性能慢,而且基于Web Services的交易没有形成明确的规范。使用XML作信息交互比较慢是大家都承认的,性能问题将对SOA的发展造在一定的阻力。
同时SOA规范本身没有完善,比如Transaction规范还在不断完善,而且Web Service多年来收效甚微。总的来说,SOA现在还处在一个发展阶段,很多标准还在制定,不同厂商间还存在不兼容的现象,因此SOA还不能说已经是一个成熟的技术,还需要时间的检验,还在"进行中"。
当然,金蝶中间件作为JCP组织成员,也会推动SOA规范在J2EE平台上的实现。中国用户的现实选择之惑在憧憬SOA技术可能带来的前景之余,我们不得不回过头来冷静地说:SOA和我们大家的共同客户――中国企业还有距离。
中国信息化进程与欧美不同,大量的基础业务系统还没建立起来,整合需求并不如想象的那么大。从我们对客户的了解,发现很少有客户有SOA的需求。
简单地总结就是,互通无基础,以新建系统为主,需求并不强烈。而欧美市场大量业务系统已建立起来需要整合,从这个角度讲,SOA是适用于他们的。
同时,在成功案例极少的前提下,SOA还处于培育期,新建封闭交易系统使用SOA技术还是有一定风险的。一项新技术需要市场的消化,大型企业出于保护企业投资,不会轻易地转移到新的技术平台;而即使像J2EE这样成熟的技术经过了这么多年的发展,也不敢说占有统治地。
4.国内知名的ERP软件商
用友软件 亚太本土最大企业管理软件供应商
金蝶软件 亚太地区企业管理软件及中间件软件龙头企业 股票代码:0268
神州数码 中国知名的ERP制造商,专门从事企业的信息化管理软件的研发和实施
DPFLY软件 先进的智能管理软件开发商,管理软件领导厂商之一
上海博科资讯
浪潮软件
友耐软件 基于.Net开发、Browser/Server架构(Web方式)的电子商务企业管理系统
蓝灵软件-蓝灵通ERP
新中大软件 先进管理软件开发商、及电子商务时代解决方案供应商,是中高端管理软件领导厂商
明源软件 基于.Net开发,专业致力于房地产软件ERP的开发,国内近80%的房地产企业在使用
Unitsoft EBS
专佳软件
东信达企业动力ERP
智邦国际企业管理软件
中教畅销软件
35CRM企业管理软件
金动力企业管理软件
罗孚软件
某种ERP软件
万达宝软件
罗斯软件
百胜软件
正航软件
特尔特软件
智德多软件
G/3远通软件
天天进账网erp
火购软件
汇信软件
开龙软件
31415软件
八百客软件
时空软件
傲鹏软件
秋葵软件
天志软件
管易软件
天心软件——Sunlike ERP
友商网
管理123
企管家 基于管理软件平台的B/S架构的企业管理软件系列,业务应用层可配置并且开放源代码
5.ESB是SOA必须的吗
ESB让SOA落地 以Cape Clear、Sonic、IONA为代表的ESB领域专门厂商的出击,以增量式部署SOA为口号,强调以一种低廉的、基于标准的Web服务编排工具,并在此之上构建健壮的SOA。
而SOA平台厂商纷纷反攻,正在向原有的套件产品中添加ESB和IT治理功能。甲骨文公司去年还只是把ESB产品内嵌在其业务流程管理产品中,今年已经推出了独立的ESB产品。
BEA推出了 AquaLogic Service Bus、BEA AquaLogic Data Services Platform来加强ESB的产品线。IBM在原有WBI Message Broker、WAS 6 SIBus这些集成产品之外,又推出了独立的WebSphere ESB产品。
而传统的EAI厂商Tibco和WebMethods也宣布了各自的ESB产品。 众厂商之所以都看准了ESB这块蛋糕,还得益于SOA理念与现实应用环境的差距。
SOA的风潮在软件行业内铺天盖地,连一些硬件厂商都忍不住参与其中,如果解决方案不提SOA就好像落了伍。但在实际应用中,SOA的实施依然不怎么起劲。
因为对许多用户来说,SOA目前还是空中楼阁。大谈按照SOA的理念重建应用系统,这种理想状况相信每个人都不会反对,但现实中这样的事情太少,企业的CIO大多面临一件事,就是处理好目前应用系统的运行—集成就自然而然成为最容易切入的话题,由集成开始而赋予应用系统以SOA的灵魂,才确有其现实意义。
ESB的冒头也就由此产生,它与EAI(企业应用集成)密不可分,同样是集成,ESB所提倡的集成与EAI的集成既有相同点,也有不同之处。“ESB的意义在于让SOA有了一个可实现的基础设施。”
IONA公司大中国区高级架构师陆飞舟这样认为。他说:“ESB与EAI的主要目的是相同的,但是ESB更具开放性,尤其是对Web服务的支持,使得它成为实现SOA的基础设施。”
BEA公司中国区技术经理刘汩春认为:“SOA的‘服务’不仅仅是可重用,而且必须是可组装编排; 可快速注册发布; 质量可监控;生命周期可管理的。这样SOA才能在整个IT范围内实现服务治理和优化,从而直接推动业务的优化。
而从简单的服务重用框架到SOA演进的过程中,ESB就是其中最重要的催化剂之一。” 作为国内中间件领域的后起之秀,中和威公司在2005年发布了其最新的ESB产品,该公司的总经理王志伟说:“SOA是一种架构上的创新,但其中的技术并没有创新,ESB明确了中间件的细分层次。”
无论SOA的理念有多么吸引人,终究不能纸上谈兵,ESB的成熟让SOA有了一个可以落地的依托。