精华内容
下载资源
问答
  • 常见分层架构模式层架构 3-tier architecture  微软.net 体系推荐的分层结构,因此早期在ASP编码的系统中被广泛应用,同时也被其他语言广泛借鉴。表现层, Presentation layer(PL)  主要负责数据的输入接口和...

    #剑指Offer——企业级项目中分层的含义与依据及多态的优势
      关于以上两点,由于项目经验较少,自己不是很明白,特整理如下。
    ##常见分层架构模式
    ###三层架构 3-tier architecture
      微软.net 体系推荐的分层结构,因此早期在ASP编码的系统中被广泛应用,同时也被其他语言广泛借鉴。
    ####表现层, Presentation layer(PL)
      主要负责数据的输入接口和输出。输入指在WEB、客户端或为外界提供的API的数据请求接口;输出则是Web界面、客户端输出、API的数据输出。页面模版、 对外API数据格式化、Request接受 、Output推送、 Commander操作都在这一层。
    ####业务逻辑层, Bisiness Logic Layer(BLL)
      主要负责从原始数据到结果数据的中间过程。系统中最关键、中重要的一层。也被称作领域层(Domain Layer),领域中所有对象的逻辑关系和功能实现算法都在这一层中。业务逻辑、服务等处于这一层。
    ####数据访问层, Data Access Layer(DAL)
      主要是对原始数据的操作层(CRUD操作),为业务逻辑层或表示层提供数据服务。数据源包括,数据库、文件、网络存储系统、其他系统开放的API、程序运行上下文环境等等。许多框架中的ORM 、 Active Record 、 Dao 类或库都处于这一层。
    ##三层架构总结
      三层架构能较好的满足大部分的业务场景,实现高内聚、低耦合。不同层次之间逻辑解耦或者隔离,变为弱依赖,每层的逻辑内聚。从层次角度看,使系统有了较好的可扩展性。
      三层架构的不足有:
      业务逻辑复杂度高的系统,业务逻辑层将变得庞大臃肿,为了解决这个问题,四层架构/多层架构被人提出。不关注表现层的实现。
    ##四层架构 4-tier architecture
      四层架构和三层架构极为类似,分为表示层、服务层、业务逻辑层、数据访问层。除了服务层,其他三层和三层架构的三层几乎一致,而服务层,是对三层架构中业务逻辑层的再细分,以解决业务逻辑层经常出现的臃肿的问题。
      四层架构是Java EE(J2ee) 推荐的分层架构,尤其是Java spring+Struct+hibernate(SSH)组合的框架 将Dao层、 Service层,做了明确的定义和规范。由于SSH框架被广泛使用,其他框架,包括其他语言的框架(比如PHP)也都借鉴SSH,因此在这些框架里能看到Dao类、Service类的抽象定义。
    ###服务层, Service Layer
      在三层架构中,把业务逻辑层的上层逻辑分离出来,组成服务层。服务层往往是逻辑的表示层,即向上层(表示层)提供逻辑的外观。事务控制、安全检查、事务脚本等可以置入业务层(参考Martin fowler 的《企业应用的架构模式》)
    ##四层架构总结
      四层架构是三层架构的发展或进化。服务层的出现让三层架构的业务逻辑层不再变得臃肿。
    四层架构和三层架构都存在一个不足,就是不强调前端的实现。当面对需要个性化定制界面、复杂用户交互、页面之间有依赖关系时,需要更好的解决方案。
    ###MVC 模式
      MVC 模式最主要包括三部分,Model View Controller(模型-视图-控制器)。相比于三层架构或者四层架构,MVC最突出的优点是前端控制的灵活性。如果MVC的两部分,View和Controller剥离出来,实际上是一种叫前端控制器模式的设计模式。
      MVC 的缺点很明显,将前端以外逻辑都放到 Model里,随着业务增多,Model将越来越难以维护。
      MVC 并不适合称作一种分层架构,更适合称为一种复合的设计模式。有人还将MVC模式归类为前端架构。
      为什么MVC模式被广泛的采用? 笔者是这样认为的:

    • MVC模式最适合新闻门户网站、展示类网站,此类网站业务逻辑往往较为简单。
    • MVC模式最适合产品初创时被使用,因为项目初期逻辑简单,
      使用MVC模式产品能快速成型,可以尽早投放市场进行试验(多数可能会被淘汰),这样就降低了试验成本。(如果产品有潜力,中后期随着业务增多和变得复杂,系统必然面临重构压力。)
    • MVC模式最适合产品原型的实现(注重前端)。

    ##其他分层架构
      除了三/四层架构,MVC模式,还有很多架构模式,但这些多是与三/四层架构、MVC模式类似,或是在他们之上进行扩展和改造。比如 MVVM (Model-View-ViewModel)、MVP、DDD架构模式等。
    ###关于分层的总结
    分层的思想或目的
    高内聚
    低耦合
    增强系统的可扩展性
    增强系统的可维护性
    ####分层的优点

    • 开发人员可以只关注整个结构中的其中某一层;
    • 可以很容易的用新的实现来替换原有层次的实现;
    • 可以降低层与层之间的依赖;
    • 有利于标准化;
    • 利于各层逻辑的复用;
    • 结构更加的明确;
    • 在后期维护的时候,极大地降低了维护成本和维护时间。

    ####分层的缺点

      相比于分层的优点,分层的缺点显得微不足道。

    • 使用分层虽然增多了代码量,但清晰的架构和代码复用却降低了开发成本、维护成本。
    • 分层虽然在逻辑上增多了代码的调用、增多了逻辑分支,降低了性能,但是这部分降低的性能与系统中真正的性能瓶颈(存储IO、网络IO、高层次的语言)相比,显得实在渺小。
    • 分层有时会导致级联的修改,但这种情况是可以通过面向接口的设计或者使用中介者模式、门面模式、适配器模式等设计模式解决。

    ##如何设计分层架构

    • 软件的发展都是遵循着从简单到复杂的过程,软件架构也是一个迭代的过程,是一个循序渐进,不断完善的过程。简而言之,不断地重构。
    • 借鉴或者直接使用Java EE(j2me)的分层规范,并使用dao、service等类的命名。
    • 层与层之间交互部分,要遵循面向接口设计的原则,不吝舍使用设计模式。
    • 分层的选择要平衡成本和风险,使收益最大化。
    • 业务逻辑不要局限于四层架构或三层架构,依据领域业务特点可更细地划分层次。

    ##多态
      多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。
      编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。
      对不同类的对象发出相同的消息将会有不同的行为。比如,你的老板让所有员工在九点钟开始工作, 他只要在九点钟的时候说:“开始工作”即可,而不需要对销售人员说:“开始销售工作”,对技术人员说:“开始技术工作”, 因为“员工”是一个抽象的事物, 只要是员工就可以开始工作,他知道这一点就行了。至于每个员工,当然会各司其职,做各自的工作。
      多态允许将子类的对象当作父类的对象使用,某父类型的引用指向其子类型的对象,调用的方法是该子类型的方法。这里引用和调用方法的代码编译前就已经决定了,而引用所指向的对象可以在运行期间动态绑定。再举个比较形象的例子:
      比如有一个函数是叫某个人来吃饭,函数要求传递的参数是人的对象,可是来了一个美国人,你看到的可能是用刀和叉子在吃饭,而来了一个中国人你看到的可能是用筷子在吃饭,这就体现出了同样是一个方法,可以却产生了不同的形态,这就是多态!
    ###多态的作用

    • 1.应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承
    • 2.派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 //多态的真正作用;
    • 3.可替换性。多态对已存在的代码具有可替换性。
    • 4.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际 上新加子类更容易获得多态功能。
    • 5.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
    • 6.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。
    • 7.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。
    ![这里写图片描述] (https://img-blog.csdn.net/20160927195300348) ![这里写图片描述] (https://img-blog.csdn.net/20160927195313061) ![这里写图片描述] (https://img-blog.csdn.net/20160927195322748)
    展开全文
  • ESB 企业服务总线

    万次阅读 2013-08-24 10:36:41
    整理的OSChina 第 38 期高手问答 —— ESB 企业服务总线,嘉宾为@肖俊_David 。 @肖俊_David 恒拓开源架构师,热衷于JAVA开发,有多年的企业级开发经验。曾参和设计和开发基于FuseESB 企业服务总线系统,对...

    整理的OSChina 第 38 期高手问答 —— ESB 企业服务总线,嘉宾为@肖俊_David 。

    @肖俊_David 恒拓开源架构师,热衷于JAVA开发,有多年的企业级开发经验。曾参和设计和开发基于FuseESB 企业级服务总线系统,对FuseESB企业级服务总线以及内嵌的Camel/ActiveMQ 有深刻的理解。

    ESB 全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

    ESB 相关的开源软件:http://www.oschina.net/project/tag/333/esb

    主要有价值的问题整理如下:

    1、先简单介绍下 ESB 的应用场景吧,相信很多人还是不太了解 。

    肖:一般用在企业内部业务系统比较多,相互之间调用比较复杂,接口的维护花费比较大,并且不同的系统采用了不同的开发平台、传输协议、数据格式等,这种情况下就需要考虑使用ESB了 。

    2、这么庞大的一个系统,设计时候遇到的难题及解决方法是什么?在系统性能上从那些方面优化?

    肖:主要体现在各业务系统数据的整合/ESB路由的安全/流量控制等方面。 性能方面是这些方面的优化:负载均衡/应用服务器集群/缓存/数据库的读写分离/Restful WS/WS接口数据的压缩/消息的异步传输/。具体可以参考此文档http://www.oschina.net/doc/593。

    3、对于大并发的实时交易的系统,选用ESB作为数据总线,其性能如何?在线人数100万,并发1000左右的交易,基于WS与ESB进行对接,中间不介入MQ 。

    肖:根据我们对Fuse ESB的性能测试情况,直接访问WS与通过ESB来访问WS,性能影响不大,当然具体的性能损耗,还与你采用的ESB产品有关!我们目前做的项目,部署了两台ESB,前面通过LVS做负载均衡,调用WS的TPS可以达到 600-800左右。

    4、ESB的具体应用及其担任的角色是什么呢?

    肖:中介、路由转发、格式转换、协议转换、安全控制。

    追问:您好,针对于您说的路由转发,可否再阐述下,

    肖:就是说路由转发的机制,可以是业务人员定义的,由业务人员来定制转发的流程。

    5、ActiveMQ 比较适合哪些企业应用场景?能否举个例子简单说明下,体现使用了ActiveMQ的价值。

    肖:ActiveMQ主要优势体现在消息的异步/推送上, 提供了多种语言的客户端。它可以用于异构系统的整合,如我需要向其它系统推送一个消息,只需要把消息发送到MQ服务器,便可以去做其它事情,MQ服务器来保证其它系统数据的接收;另外,系统包含大量的业务日志数据,也可以考虑使用MQ来异步处理。

    追问:MQ服务器一般采取哪些部署方案呢?对于处理大量业务日志,单台MQ服务器是否足够?

    肖:看机器性能, 我这边性能测试 4核/4G内存/linux,MQ的收发大概可以到5000条/秒。如果有高可用的需求,需要做MQ集群。

    追问:你是说先把日志内容发给MQ,再由MQ发送给日志系统? 

    肖:是的。

    6.请问实际的安全问题是怎么处理的,给点思路,谢谢。

    肖:在ESB的路由程序中,加入安全认证机制。如用户名/密码认证,访问控制认证等。MQ的安全认证,可以通过安全插件来实现。

    追问:谢谢哈,那我还想了解下路由程序的大概作用,是不是就是处理请求,使其匹配业务逻辑的那种? 

    肖:具体可以参考此文档,第二个案例 http://www.oschina.net/doc/593 。

    7.能不能介绍下现在主流的esb产品. 包括商业和开源的?

    能不能重点介绍下fuse产品,要是直接部署使用的话,有什么要注意的. 

    fuse好像是基于osgi的.话说osgi好像比较难搞呀.

    个人能不能提供咨询服务?

    肖:商业主要有 IBM/ORACLE ESB,高达6/700W 的单机许可费。开源的有ServiceMix/Fuse/JBOSS/Mule 等ESB产品。 ServiceMix/Fuse ESB 4.X以后是基于OSGI架构的,提供了很好的扩展性,上手是有点难度。目前很多产品都在往OSGI靠拢,如JBOSS AS 7。 谈不上咨询,大家互相交流学习。

    8.如果所有的服务接口都接入ESB,ESB怎么保证安全服务,如果ESB挂掉,那所有的应用系统也无法服务了,加一些缓存集群是否能彻底解决这样的问题,可否做到我调用一台机器时那台机器挂了,直接将服务切到另一台机?

    肖:可以部署多台ESB集群,在ESB前面可以通过F5/LVS等来做负载均衡,若是LVS,可以通过心跳来检测当前ESB的服务状态,若是一台出现宕机情况,可以把请求转发到其它ESB 。

    9.问个具体点的问题,我做了个实验项目,架构是这样的:webapp+serviceMix,需要在webapp端控制路由的部署和启停。

    部署就是将bundle放到相应的文件夹下了,命令通信还没实现,找了资料(http://svn.apache.org/repos/asf/karaf/trunk/client/src/main/java/org/apache/karaf/client/Main.java)是用ssh实现的,

    不知道除了这个还有没有其他更好的方法。另外,部署不知道还有没有其他方法。

    肖:这种是通过远程SSH,来管理ESB控制台,控制bundle的启动和运行。你可以参考下 Karaf的 webconsole是如何做的bundle管理。

    追问:谢谢,借此机会多问一下,想请问下除了用ssh远程管理esb外,还有没有其他方案可以让web与esb结合,比如在webapp中集成karaf和camel可行不?另外apache ode已经与新版本jboss esb不兼容了,你们是如何做webservice编排的?多谢了~

    肖:ESB 部署bundle,bundle集成Camel,服务编排用Camel 的 EIP 。

    追问:谢谢,个人认为Camel EIP不太适合做服务编排,虽然有java DSL,还是没有BPEL合适。现在在用bpel-g 。

    肖:bpel是基于SOAP协议的,会占用大量带宽。

    10、想问一下开源的esb选择哪个比较好,现在在openESB和WSO2 esb中犹豫,希望得到您的指导。

    肖:这两种ESB我还未使用过:),建议你用主流ESB。

    11、ESB能够提供什么服务,能够帮助解决问题1中的这些问题?为什么要使用ESB?如果不使用,其实没什么问题,对不对?它最大吸引力在哪里?

    肖:1、多系统之间的互相调用会造成网状结构错综复杂 。

          2、接入ESB后,服务都集中在一处调用,原系统如果是以ws公开的服务,经过esb包装之后,可以公开称多种协议适配各种客户系统调用 。

          3、ESB可以统一的进行日志、安全和权限以及SLA治理,很方便进行控制。

          4、ESB作为众多系统的入口,还可以很方便的在一处实现跨系统的流程整合和编排 。

    12、除了 Redhat 和 JBoss 的文档,还有什么好的 Fuse ESB 学习资料吗?

    肖:很多,Fuse ESB集成了很多开源项目,如Karaf/CXF/ActiveMQ/OSGI等,这些你都需要有所了解,去他们的官方有文档,书籍方面 你可以参考 Open Source ESBs In Action不过版本有点老了。

    13、在医院的药品管理系统、挂号系统、医生/护士工作站、财务等各种his系统当中esb可以扮演什么角色?或者说他适用这种环境吗?有木有类似的项目?哈哈,我是业余前端,问得不好还请见谅。

    肖:可以适用,接口都可以接入ESB。

    14、activimq用topic还是queue?对于客户端向ESB发送数据需要返回值的情况,对于activimq 有什么好的解决方法没?

    肖:目前好像还没好的办法,可以创建一个返回队列来实现 JMSReplyTo 。

    other:既然对于请求需要有返回值,这属于RPC的范畴了。可以基于 Camel 做 RPC。

    15、esb对性能是不是有很大影响,刚用,发现速度会差一半.

    肖:看不同的ESB产品 ,Fuse ESB我们做性能测试,性能损耗是很小的。

    16、另外想咨询:
           1、在设计数据变更推送的机制,我们目前是在数据表上加触发器有字段更新写到中间表记录,然后一个定时任务去扫描这个中间表,然后形成特定的发送记录。
           2、ActiveMQ 在大量消息下性能是否可靠?
           3、ESB接入多个系统后,是直接访问源系统的数据库,还是在中间库做一份镜像?如果是直接访问数据库,事务控制等应该怎么做?如果是中间库,如何保证数据的实时性呢?
    肖:大量消息下,消息的可靠性是没问题的,MQ做了大量的工作保证消息的可靠性,如消息存储在文件/客户端的确认机制等,性能上要根据实际的场景调优MQ的性能。 我们是把其它业务系统的核心数据抽取到本地库中,通过Kettle ETL+quartz定时抽取。如果实时性比较高,可以考虑数据库复制,触发器等。

    17、现在项目是不是已经整合到JBoss ESB中了呢?相关的文档都需要从JBoss上下载吗?

    肖:http://www.jboss.org/products/fuse http://fusesource.com/products/enterprise-servicemix/

    18、想问下在ESB中,在多个系统交互时,如何控制数据的一致性呢?遇到异常如何回滚呢?

    肖:事务的补偿机制。

    追问:ESB中有实现事物补偿的么?那些资料可以参考呢?

    19、现在的 ServiceMix 支持部署 WAR 应用了吗?

    肖:支持。

    追问:这个回复过于简单了。OSGI-4.3引入了WAR支持。WAR首先被转换成一个bundle(WAB),然后启动。在这个过程中,很容易出现类库冲突,导致启动失败。详情请参考osgi.cmpn-4.3.0.pdf("OSGi Service Platform Service Compendium")中的"Web Applications Specification"章节 。

    另外,OSGI也有自己的适用场景,如果没有模块化需求,不应该引入OSGI。单纯的WAR项目就没有必要改造成OSGI项目。

    肖:除了 OSGi,模块化还有什么别的选择?SOA? 

    话说 Spring 不支持 OSGi 的原因是什么呢?Hibernate也是用Gradle构建,照样在努力地向 OSGi 靠拢。

    追问:应该是吧。我认为,OSGI 也可以认为是广义上的 SOA . Spring 支持 OSGI 的啊,你是不是看错了?

    肖:InfoQ 上等过 SpringSource 打算放弃支持 OSGi 的新闻。

    在最新的版本里面已经移除了 OSGi 的 manifest 文件,我是从 Maven 官方库里面下的 。

    追问: 你这么一说我也记起来了。之前 Spring 是支持 OSGI 的,动态模块还是 spring 搞出来的。放弃支持是他们的决定吧,我觉得OSGI的复杂性应该是其中的重要因素。

    20、消息能支持多大呢?能否支持10M以上文件推送?

    肖:你指的MQ?

    追问:对, ESB 一般不包括MQ这样的消息中间件吗? 

    肖:可以试试 MQ的BlobMessage;或者把文件拆分然后分组发送。对于太大的文件不建议使用MQ来传输。

    21、关于分布式日志采集,一般说可以采用ActiveMQ/MetaQ等实现。我的疑问是:网络写速度比不上本地文件系统写,实践中怎么解决这个问题?

    肖:分布式日志采集,这里没看懂。是对分布式系统的日志采集?

    22、为什么不把部分接口服务以RESTful方式暴露,看你里面全是webservice。

    肖:是Restful风格的WS。

    23、ESB和RPC(比如Dubbo/Corba/ICE)等适用场景,能介绍一下吗?谢谢。

    肖:ESB和RPC是完全不同的两个概念,PRC是点对点的消息传递,ESB是所有的服务接口都接入到ESB,通过它来转发 。

    24、正好我也是在做ESB,我想请教您,对于Mule ESB 有所了解吗? 或者您是否能提供一点你选用Fuse ESB方案的考虑吗?

    肖:这个是我们ESB技术选型的一部分资料:

    Mule ESB拥有了不错的用户量,且比较容易上手,但其由于其企业版是商业产品,相需要收费,且架构本身并没有成为规范,因此,若在没有源码的情况下大规模使用,一旦出问题,可能需要专业技术团队的支持。另外,Mule之前是没有自己的消息中间件的,且不支持热部署,收购Mule MQ之后才真正成为一个正式成熟的ESB。 

    Fuse ESB很好的支持了JBI规范,其下产品均是由Apache下的著名开源项目组合而成。其中若干框架均已为开源世界广泛应用,比如Apache Camel和Apache ServiceMix,尤其是其中的Apache ActiveMQ和Apache CXF,且ServiceMix 4之后基于OSGi架构,更能迎合企业动态化、模块化的需求。此外,Fuse有丰富的文档支持,加上其主要框架为大多开源人士所熟知,技术上可控性强,风险较小。

    25、问题如下:

           1、同步接口调用,怎么处理?有一些需求要同步返回调用结果。

           2、想涉及一些支付业务的服务,事务怎么处理? 

           如:下订单业务,首先要调用“商品模块服务”查询库存,然后才能决定下单业务是否可以继续,如果库存充足,则要:    
           1)调用“商品模块服务”锁库 。
           2)调用“订单模块服务”保存订单。
           他们之间的事务怎么保证?能否给些思路。

    肖:ESB 只是做了路由转发功能,除了MQ,大部分都是同步的。Camel内部也做了一些事务的保障机制, 若是中间牵扯到了 多系统流程服务的编排,最好定义好发生异常后事务的补偿机制。

    26、能不能多讲一下ESB的应用场景和不适合的应用场景。

    肖:涉及到多系统整合或者服务流程整合,就要考虑是否需要上ESB。

    27、FuseESB 稳定版本是哪个版本?下载时候是 6.0 版本包,怎么官方文档是  7.1 ,还没搞明白。

    肖:7.1是没被收购之前的,现在被redhat收购,改名叫 Jboss Fuse。 

    28、将各种异构的子系统整合,由一个统一的中间件调度服务的架构就可以称作ESB吗?

    肖:这个是ESB的核心功能,还包括服务编排/消息增强/协议转换/格式转换/安全控制/服务质量等。

    29、ESB怎么保证消息的可靠传递?

    肖:如果是JMS消息,ESB中的MQ会持久化该消息到文件或者数据库。若是其它协议的消息,发生异常或者其它自定义状况,ESB会捕获到该状况然后经过处理告诉客户端。

    30、您好,能否比较几种常见的ESB产品(集),mule esb/cordys/Jboss esb/open esb ? 它们分别的适用场合是什么?特别是您对Cordys的看法?

    肖:ESB的功能都差不多,你要更详细的比较:可以去看看 Forrester研究公司(http://www.forrester.com),在2011年第二季度对“企业级服务总线”做了一个详尽的研究报告,比较了IBM、Oracle、Progress Software、Software AG、Tibco、FuseSource、MuleSoft、Red Hat和WSO2等诸多商业和开源厂商的ESB产品。

    31、ESB 对企业部门之间的信息孤岛的破解,是否有帮助,如果有的话,处理策略是什么?

    肖:造成信息孤岛的原因主要是系统之间通讯不畅,把各系统对外的接口都统一连到ESB即可,避免各系统的相互调用造成复杂的网状结构。

    other:n*n 和 1*n ,这种在系统庞大的企业中,是非常有价值的。

    jack:谈到ESB两大主流是Mule和Camel。Mule用户多一点。不过Camel接口更多,而且迭代速度更快。试过Camel+karaf发现对数据库支持这块osgi略差一些。于是采用Camel+spring。使用下来各方面都很出色,推荐此方案。

    32、请问ActiveMQ用的什么版本?怎么整合的?如何保证数据消费的可靠性,有没有出现丢消息或者假死的问题?

    肖:Fuse ESB默认就集成ActiveMQ,未出现你说的现象,不过如果发的太快,收的太慢会出现你说的情况,可以在接收端增加负载来解决 。

    33、esb如何解决多系统的数据一致性问题?例如在转账这种需要跨数据库事务的场合下怎么搞定?

    肖:可以定义流程发生状况的补偿机制,一旦服务流程流转中出现问题,所有执行过的活动都按特定的逻辑进行补偿 。


    展开全文
  • 企业微信接入第方应用(以服务商身份)

    万次阅读 多人点赞 2019-07-27 17:20:15
    最近在搞企业微信的东西,刚开始对这个的确没有任何的概念,属于两眼...首先,要明确两个概念,就是微信和企业微信不是一个东西(虽然有些信息互通)、企业微信应用和服务商的第方应用也不是一个东西(虽然也有...

    最近在搞企业微信的东西,刚开始对这个的确没有任何的概念,属于两眼抓瞎的类型,因为场景比较特殊网上搜到的资料也不多,只能自己看着官方文档一点一点去调试。于是,一系列的踩坑之路就上演了,这里就简单介绍一下笔者自己踩的坑吧,也为其他刚刚接触企业微信开发者朋友们提供一点借鉴。

    首先,要明确两个概念,就是微信和企业微信不是一个东西(虽然有些信息互通)、企业微信应用和服务商的第三方应用也不是一个东西(虽然也有些接口可以调用),企业内部开发指的是开发某个企业自己用的应用,而第三方应用开发指的就是开发者作为服务商开发第三方应用,让其他企业(使用企业微信的人)安装你(服务商)开发的应用。此处重点介绍下笔者作为服务商第三方应用的开发过程吧!(如下图是企业微信官方文档,上面有企业内部开发和第三方应用开发)
    在这里插入图片描述

    需要的准备:注册两个企业,一个作为应用的服务商,一个作为应用的使用者,使用服务商的企业登陆到服务商的管理平台。此处需要注意的是,企业微信有两个管理平台,一个是企业微信管理后台另一个是服务商管理平台,不要登陆错了。
    企业微信管理后台:https://work.weixin.qq.com/wework_admin
    企业微信服务商管理后台:https://open.work.weixin.qq.com/wwopen/developer
    企业微信管理后台
    企业微信服务商平台
    第一步,在服务商平台创建一个应用,将需要填写的信息填入。基础信息可以根据实际情况填写,开发信息可能刚接触的时候并不清楚如何填写,这里可以暂时先写随便写一个,后面可以修改并且需要认证,下文会将用到的一一进行介绍。
    在这里插入图片描述
    在这里插入图片描述
    第二步,信息介绍
    1.基本信息,在基本信息中尤其要注意的是suiteId和secret,suiteId是用于标记用于的唯一标识,secret是用于加解密的秘钥,尤其是secret,千万不能泄露。
    在这里插入图片描述
    2.使用配置,应用主页是企业安装第三方应用之后,跳转的主页页面;可信域名是企业微信进行授权和前端使用JS-SDK的时候校验的域名,若是域名不一致企业微信会报错;安装完成回调域名是在企业进行安装应用之后回调接口的域名;业务设置URL笔者没有用到,没有进行深究
    在这里插入图片描述
    3.回调配置,数据回调URL笔者没有用到,也是随便写了一个;指令回调URL,这个千万要注意,在后面获取到suite_ticket(应用ticket)的时候就需要用他;Token和EncodingAESKey,自动生成填上就行,不过不要随便去更改,因为这边更改的话,后面解密信息的时候就需要更改代码中的这两个值。
    在这里插入图片描述
    比较重要的信息就是这些,因为笔者自己的需要这边没有用到业务设置URL和数据回调URL,若是有大神用到也希望不吝指出,这里感激不尽。

    第三步,开发文档,将以上信息了解了之后,还需要看下官方文档。因为笔者是作为java开发的角度来进行开发的,所以主要需要了解的是快速入门服务端开发API注意,此处文档区分第三方应用开发和企业内部开发,服务商开发第三方应用一定是第三方应用的那一篇文档,千万不要看错了!
    文档链接:https://work.weixin.qq.com/api/doc
    在这里插入图片描述
    1.快速开发,注意此处的三个场景:企业的、应用的和服务商的。在开发过程中一定要分清这三者的区别,这是重中之重,“企业的”是指登录者所属的企业;“应用的”是指开发者的第三方应用;“服务商的”是指应用所属的企业,这和登录的企业不一样,一定要区分清楚!(此处不分清楚,后面会有很多坑)
    在这里插入图片描述
    2.服务端API,这里就是主要获取需要的信息api都有,但此处要区分清楚应用的、企业的、服务商的、个人的信息,它们不可通用(如下文介绍的user_ticket和suite_ticket不是一个东西)
    在这里插入图片描述
    第四步:指令回调流程的建立,在第二步中说到指令回调Url,需要在这里进行配置(代码在这一步最后贴上),企业微信官方会每10分钟调用一次,或者手动点击“刷新Ticket”,或者在编辑完成确认的时候会进行回调。
    在这里插入图片描述

    指令回调的需要先参考这篇文档(其中有好几个需要注意的点)
    在这里插入图片描述
    注意点1:解密此处有demo,直接使用官方的即可
    在这里插入图片描述
    在这里插入图片描述
    注意点2:在使用java解密过程中,可能会出现异常java.security.InvalidKeyException:illegal Key Size,这是因为jdk本身有解密策略的限制(有限制的解密策略,好像是为了传输安全?),这需要去oracle官方下载无限制的解密策略,企业微信官方也给出了关于这个问题的解决方案(在解密demo代码的WXBizMsgCrypt类的注释中,如图)
    此处附上下载地址:
    JDK7:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
    JDK8:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
    在这里插入图片描述

    注意点3:验证回调和实际数据传输方式不同:验证是GET请求,解密后需要将明文的echostr返回回去,实际数据传输是POST请求,入参是xml格式传入(但是在链接上也会有解密需要的参数msg_signature、timestamp、nonce因此都要接收),需要返回success
    在这里插入图片描述
    在这里插入图片描述
    注意点4:此处数据类型可能有很多种,具体可以参考文档的这边,此处笔者只是接收了suite_ticket(应用ticket)类型进行处理
    在这里插入图片描述
    在这里插入图片描述
    以下是笔者自己写的demo的代码(此处用dom4j解析xml字符串):

    	@ResponseBody
        @RequestMapping(value = "/directCallback")
        public void directCallback(HttpServletRequest request, HttpServletResponse response) throws Exception {
    		System.out.println("----------------------------");
        	System.out.println("this is directCallback");
        	response.setCharacterEncoding("UTF-8");
        	
        	try {
    	    	String corpid = request.getParameter("corpid");
    	    	// 企业微信加密签名
    	        String msgSignature = request.getParameter("msg_signature");
    	        // 时间戳 与nonce结合使用,用于防止请求重放攻击
    	        String timestamp = request.getParameter("timestamp");
    	        // 校验时字符串
    	        String echostr = request.getParameter("echostr");
    	        // 随机数 与timestamp结合使用,用于防止请求重放攻击
    	        String nonce = request.getParameter("nonce");
    	        
    	        System.out.println("msgSignature: "+ msgSignature);
    	        System.out.println("timestamp: "+ timestamp);
    	        System.out.println("echostr: "+ echostr);
    	        System.out.println("nonce: "+ nonce);
    	    	if("GET".equals(request.getMethod())) { // get请求表示是验证
    	    		System.out.println("corpid:" + corpid);
    		        String echostrDecrypt = null;
    		        // 校验服务商公司id
    		        WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, sEncodingAESKey, corpid);
    				echostrDecrypt = wxcpt.VerifyURL(msgSignature, timestamp, nonce, echostr);
    				System.out.println("verifyurl echostr: " + echostrDecrypt);
    		    	
    		    	response.setCharacterEncoding("UTF-8");
    		    	response.getWriter().write(echostrDecrypt);
    	    	}else { // post请求表示是真实数据
    	    		// 获取传过来的xml信息(密文)
    	        	InputStream ins = request.getInputStream();
    	        	BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(ins));
    	        	StringBuilder postData = new StringBuilder();
    	        	String line = null;
    	        	while((line=bufferedReader.readLine()) != null) {
    	        		postData.append(line);
    	        	}
    	        	System.out.println("postData:"+ postData);
    	    		
    	    		WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, sEncodingAESKey, suiteid);
    	    		String info = wxcpt.DecryptMsg(msgSignature, timestamp, nonce, postData.toString());
    	    		System.out.println("解析的明文是:" + info); // 此处明文是xml信息
    	    		
    	    		// 解析xml,若InfoType是suite_ticket的话,说明是发送ticket的响应方式
    	        	Document doc = DocumentHelper.parseText(info);
    	        	Element root = doc.getRootElement();
    	        	String infoType = root.elementTextTrim("InfoType");
    	        	if("suite_ticket".equals(infoType)) { // 此处只是进行suite_ticket的处理,若是需要其他的处理需要在这里添加类型
    	        		String suiteTicket = root.elementTextTrim("SuiteTicket");
    	        		System.out.println("拿到的ticket是: " + suiteTicket);
    	        	}
    	    		
    	    		response.getWriter().write("success");
    	    	}
    	    	System.out.println("----------------------------");
    		} catch (Exception e) {
    			//验证URL失败,错误原因请查看异常
    			e.printStackTrace();
    		}
        }
    

    第五步:建立应用授权流程(注意主体是应用),此处不是登陆者登录之后授权才能用那个流程,而是在安装应用时候的授权流程。此时是为了获取应用的access_token(第三方应用凭证)和permanent_code(永久授权码),有了access_token和permanent_code,加上之前的suite_ticket(应用ticket),很多其他的信息就可以获取到了
    1.在服务商网站配置ip访问白名单,这一点不可忽略,否则无法访问
    在这里插入图片描述
    在这里插入图片描述
    2.获取企业的access_token(第三方应用凭证),此处ticket就是企业微信官方每10分钟推送的suite_ticket(应用ticket),还需要应用的id和应用的secret
    在这里插入图片描述
    3.安装应用获取auth_code(临时授权码),此处只是进行安装测试,若需要正式上线需要走上线流程
    在这里插入图片描述
    使用另一个企业进行此处的安装测试之后,之前实现的回调接口会接收到临时授权码的信息
    在这里插入图片描述
    在这里插入图片描述
    4.获取到permanent_code永久授权码
    在这里插入图片描述
    有了access_token、permanent_code和suite_ticket之后,很多的信息都可以获取到了

    第六步:用户登录时的用户授权流程,在用户登录的时候,需要用户授权应用,获取去到用户信息,将用户与第三方应用中的用户关联起来。此处,企业微信官方采用的是oauth2授权方式,oauth2授权流程可以参考文档此处--------此处请注意下后面的更新,有神坑!!!!!
    在这里插入图片描述
    1.构造oauth2授权链接,此处若是后面需要获取到用户的手机号、邮箱等敏感信息,必须要使用手动授权方式(即scope=snsapi_privateinfo),服务商管理后台中创建的应用,必须支持获取用户的敏感信息,这两个条件只要有一个不满足就无法获取到用户的手机号等敏感信息。
    在这里插入图片描述
    在这里插入图片描述
    构造的oauth2链接可以放在前端,也可以由后端配置后返回给前端,但是oauth2链接必须由前端跳转(不能由后端重定向,当然内部转发跳不到服务器之外的地址更不行),因为此处关联了设置的可信域名,可信域名关联前端使用的JS-SDK因此必须填前端域名
    在这里插入图片描述
    2.获取user_ticket(用户ticket),此处不能搞混user_ticket和suite_ticket,一个是用户的ticket,通过code获取;一个是应用的ticket,企业微信每10分钟推送给回调函数(笔者就搞混了,一直以为是哪里获取的不对导致获取不到用户信息)
    在这里插入图片描述
    3.若是还需要获取到用户的敏感信息,则根据access_token和user_ticket就可以拿到了,当然,是建立在可以拿到的前提下(应用允许获取、oauth2采用手动授权、用户同意授权)
    在这里插入图片描述
    获取到用户信息之后,就可以将企业微信的用户信息和业务的用户信息关联起来,主要的流程就可以疏通了!

    第七步:服务端配置客户端需要的签名signature等信息,在客户端的JS-SDK中,必须要先调用wx.config接口来进行权限的校验之后,才能够进行JS其他接口的调用,此时就需要服务端将签名signature、时间戳timestamp、随机串nonceStr、登录公司corpId返回,如下图
    在这里插入图片描述
    此处需要注意的点不少,只要有一点对不上,那么就可能造成流程走不下去。

    注意点1:
    使用JSSDK之前,一定要填写可信域名并且校验,否则JSSDK的接口无法使用。此处需要注意的点是,若是测试授权应用的话,进行验证之后,一定要重新安装才能生效,笔者就因为没有重新安装卡了很久,一直以为是配置的问题。
    在这里插入图片描述
    在这里插入图片描述

    注意点2:
    生成签名的算法需要参考客户端附录中的这篇文档(如图),由于之前第三方应用凭证已经获取到,此处jsapi_ticket也可以拿到了
    在这里插入图片描述
    注意点3:
    生成签名算法的时候,需要的url参数一定不要加上#后面的参数
    在这里插入图片描述
    注意点4:
    校验签名算法工具:https://work.weixin.qq.com/api/jsapisign
    此处只能校验签名是否正确,但是不能保证传入的url正确,因此需要确保传入的url包含“?”后面的参数但是不包含#后面的参数,如“http://xxx.xxx.xxx/xxx/?test=xxx”,可使用UUID生成nonceStr,再加上时间戳和url,将代码生成的signature和工具生成的signature进行校对保证生成算法的正确性
    在这里插入图片描述

    注意点5:
    在附录最后一篇中,有各种错误的结局方案,但是此处说要将生成signature进行转码,但是亲测转码之后是不行的,不转码可以
    在这里插入图片描述

    以上就是笔者疏通整个企业微信流程的踩过的坑,当然因为也是第一次接触,还有很多还不熟悉,可能还有很多谬误,若是读者发现那里不对,还望不吝指教!


    20190814更新
    更新遇到的两个神坑:
    神坑1.官方文档上提供了获取登录用户的手机号、邮箱等敏感信息
    在这里插入图片描述
    在构建oauth链接的时候,仅仅有一个“已废弃”的字样,可是在使用中还是可以继续使用的,到这里,一切还没有其他问题,正常使用。。。
    在这里插入图片描述
    于是!!!!!在上线审核的时候,获取用户敏感信息的应用,是审核不通过的!!!
    在这里插入图片描述
    找客服仔细确认之后(普通客服到技术客服到产品客服),才知道现在以后不支持获取用户敏感信息的应用上线的!!!!!(可能以后会支持,但是目前不支持,时间节点是20190814)

    神坑2.在服务商的应用中,是可以填写多个可信域名的(3个),但是亲测,只有第一个有效!!!另外的两个无论是构建oauth链接,还是使用jssdk(此处笔者调用的是wx.config这个jssdk无效,报错为not reliable domain),均无效(也是找客服确认后才知道,只有第一个是有效的)
    在这里插入图片描述

    展开全文
  • 首先说windows和Linux系统在企业的服务器中都是有使用的,关于一个企业是选择windows作为服务器系统还是Linux作为服务器系统还是要看企业对于服务器的需求和一些技术上的需要。 1、简要说一下windows系统和Linux...

    【引用】http://ask.zol.com.cn/x/3208106.html
    首先说windows和Linux系统在企业的服务器中都是有使用的,关于一个企业是选择windows作为服务器系统还是Linux作为服务器系统还是要看企业对于服务器的需求和一些技术上的需要。

    1、简要说一下windows系统和Linux系统。windows系统相信大家都不陌生,现在大家基本上使用的都是以windows操作系统为主,而服务器上使用的windows操作系统一般指的的是windows的服务器版本系统:windows server 系列。windows server系列也有很多的版本,如windows server2003、windows server 2008等。这些服务器版本的windows和普通windows版本的不同在于其是根据服务器需求进行开发的,如支持更大的内存、支持一些服务器的策略设置、支持服务器集群等,这些功能都是针对服务器的功能,总之windows server版本就是一个适合服务器的操作系统版本,其功能大多都是针对服务器的。再说一下Linux系统,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。以上是专业的解释,简单说Linux是一个免费的操作系统,其也是非常的好的支持服务器环境,且其不太适合图形化操作更适合命令行操作,而windows server是收费的系统,且其主要的还是图形化操作方式。

    2、公司选择什么系统之性能和易用性。因为Linux是开源的操作系统,其功能可以自己定义和修改,且其没有图形化界面,总而言之Linux的一些特性使得Linux的效率要比windows高且其使用起来更加灵活,因为Linux的严格的用户权限管理机制使得Linux更加安全。虽然windows的图形界面会在一定的程度上降低windows的性能,但是图形化的界面也为windows带来了操作简单方便的特点,且大家都是使用windows出身,那么 windows server系统的操作学起来要比Linux简单的多。总结:个人认为Linux比windows server的性能更好,而windows server比Linux有更好的易用性。

    3、公司选择什么系统之用途和技术搭配和成本。关于服务器的用途决定了其安装什么操作系统,比如公司需要搭建一台服务器进行系统网络和局域网的域管理,那么此时应该使用的当然是windows server操作系统。在比如公司的需要对外发布一个web网站,公司决定使用asp.net作为网站后台,我们都知道asp.net的最好组合是windows server + IIS +sqlserver数据库,那么此时公司的机房服务器也可能要安装windows server 系统,而我们要发布一个php的网站,那么我们也都知道php的最佳运行环境是lamp即Linux+Apache+mysql数据库+php,此时可能我们需要的采用Linux作为操作系统。

    再说一下成本,Linux的是开元不收费的系统,而windows server是收费的操作系统,但是公司请一个Linux的运维管理员的成本要高于windows server的管理员,这些问题都是公司需要考虑平衡的,毕竟公司要考虑公司的利益。

    最后,以上就是个人对于公司选择什么操作系统作为服务器操作系统的一些看法,也可能有很多其他的因素影响着这个选择,以上只是个人的一些看法和其中的一些因素。

    展开全文
  • 摘要:文介绍了现代企业在信息化建设过程中遇到的交互和耦合问题,阐述了面向服务构建企业应用的解决方案——ESB企业服务总线,对该解决方案给出了详细的设计,并举出实现例子。 关键词:面向服务企业解决方案;...
  • 5大CDN攻击威胁具体指什么

    千次阅读 2020-06-29 14:04:07
    最近,CDN攻击越来越严重,网络攻击无疑是无形的杀手,尤其是DDOS攻击,那么,CDN容易遭受到什么类型的攻击呢?以下是会危及到CDN的5大威胁,企业必须防范这些威胁。 1、动态内容攻击 攻击者了解到,CDN服务中的重大...
  •  随着Windows Server 2003系统中内置了POP3(邮局协议)服务组件,用户无需借助第方工具软件也能够搭建邮件服务器。  综合着用吧:免费企业邮箱收用户邮件,自建服务器发邮件。 邮件机制   自建邮件...
  • 企业服务器与物联网平台通信一,什么是服务端订阅二,开发指南(.NET)1,配置服务端订阅2,接入 SDK3,身份认证4,设置消息接收接口5,消息体格式 一,什么是服务端订阅 服务端可以直接订阅产品下配置的所有类型的...
  • C#十五 层架构企业应用

    千次阅读 2016-05-29 19:37:30
    C#程序设计及宿舍管理系统实战 ...假如你在经营一个大饭店,大体上你会请方面的人,一方面是负责饭店服务服务员,一方面是负责烹饪、做饭的厨师,一方面是负责饭店蔬菜、肉类、调料等的采购员...
  • 一、运营的角度1.1、概括订阅号:微信最初的形态是一个纯粹的社交工具,也就是人与人之间的联系工具,其中又分熟人之间的...服务号:相比于订阅号,服务号要复杂的多,当微信有了朋友圈可以卖商品,订阅号可以做营销。
  • 企业级的数据库应用大多部署在RAID磁盘阵列的服务器上,这样能提高磁盘的访问性能,并能够实现容错/容灾。RAID(冗余磁盘阵列),简单理解,就是拿一些廉价的硬盘来做成阵列。其目的无非是为了扩展存储容量,提升读写...
  • ToB和ToC端产品分别指什么

    千次阅读 2020-06-19 19:22:45
    ToB和ToC端产品分别指什么 什么是C端产品 C端产品也叫2C(to Customer)产品,是面向终端用户或消费者的产品,往往承担引流和转化的任务;C端产品是企业与消费者之间的重要媒介,也是企业重要的获客手段之一。 C端...
  • 即将于11月19日在北京举行的中国企业服务年会上,中国软件行业协会、中国软件网、海比研究联合首发2021中国企业服务十大趋势,通过趋势发布,助力企业推开企业服务大门,全面拥抱数智化未来。 此次十大趋势重点围绕产业...
  • 企业服务总线相关理论和技术的研究
  • 小微企业小型微型企业,根据今年7月4日发布于中国政府网站上的《关于印发中小企业划型标准规定的通知》,对于工业企业中、小、微型的划分标准是:从业人员300人及以上(1000人以下),且营业收入20
  • 企业邮箱是企业的域名作为后缀的电子邮件地址,通常一个企业经常有多个员工要使用电子邮件,企业邮箱可以让邮件管理员任意开设不同名字的邮箱,并根据不同的需求设定邮箱的空间,而且可以随时关闭或者删除这些...
  • 几种ESB(企业服务总线)介绍

    千次阅读 2013-05-30 14:24:59
    ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 企业服务总线ESB就是一种可以提供可靠的、...
  • 本文(即本系列的第 3 部分)和即将发布的第 4 部分将进一步完善这些思想,使基于服务的集成模式成为全面的基于服务的模式。本文特别阐述了通常被总称为 Web services 的一些组件,这些服务最初是针对可以通过 ...
  • 自建企业邮箱如何选择服务器

    千次阅读 2015-03-10 11:37:25
     云服务器服务包括两个核心产品:面向中小企业用户与高端用户的云服务器租用服务;面向大中型互联网用户的弹性计算平台服务。  云服务器平台的每个集群节点被部署在互联网的骨干数据中心,可独立提供计算、存储...
  • 企业使用VMware vSphere进行服务器虚拟化的经验分享 对于很多中小企业来说,虚拟化已经成为节省IT开支的一种重要手段,下面就根据公司Vmware虚拟化产品部署案例,同大家来详细分享一下在使用vSphere...
  • 什么叫做服务器

    万次阅读 多人点赞 2019-03-15 09:54:39
    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。 服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机...
  • 这种应用和目前运营商所提供的通信业务不同,它仅利用运营商的网络,而服务由运营商之外的第方提供。目前,典型的OTT业务有互联网电视业务,苹果应用商店等。 CPC:网络中最常见的一种广告形式,它是英文单词Cost ...
  • 3)依赖于数据的服务:对大数据的分析能力 3.可再划分的:服务中心是有划分的,且可以进一步划分的 共享服务的设计考虑和设计原则 一、考虑 不建议使用的标准:LOC(Line of Code) 设计层面:业务和...
  • 什么服务治理?

    万次阅读 2017-07-28 16:03:45
    服务治理是什么  服务治理(SOA governance),按照Anne Thomas Manes的定义是:企业为了确保事情顺利完成而实施的过程,包括最佳实践、架构原则、治理规程、规律以及其他决定性的因素。服务治理的是用来管理SOA...
  • 开发者联盟生态市场是围绕华为终端生态,打造的一站式软硬件产品及服务交易平台,本季服务市场特惠专题将于7月13日火热开启,精选80+特惠服务类商品供企业选择,帮助企业解决常见业务难题,助力企业稳定高效发展。...
  • 企业上云完整流程

    千次阅读 2018-12-06 10:28:46
    企业上云”是指企业通过高速互联网络,将企业的基础系统、业务、平台部署到云端,利用网络便捷地获取计算、存储、数据、应用等服务,有利于降低企业信息化建设成本,构建互联网创新发展生态。 “企业上云”步骤...
  • http://www.baidu.com/#wd=b2b2c&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=5&rsv_sug4=266&rsv_sug1=5&f=3&rsp=0&inputT=2949
  • 中小企业信息化服务的“4S”模式

    千次阅读 2012-05-17 17:03:54
    2010-8-3 16:35:55【我要评论】 摘要:我国中小企业信息化市场具有“两高两低”的特点,即市场规模高、一站式需求占比高、企业信息化程度低、预算成本低。 本文关键字: 中小企业 信息化 4S 我国中小...
  • 企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service Oriented Architecture, SOA)发展而来的。SOA描述了一种IT基础设施的应用集成模型;其中的软构件集是以一种定义清晰的层次化结构...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 225,209
精华内容 90,083
关键字:

企业三服务指什么