企业应用集成是必要的,几乎每家公司都有很多新产品及应用,如何集成这些应用程序是一个问题。来每十年诞生一个新范式,例如客户端/服务器通信,面向服务的架构(SOA)或云计算。
此外,不同的接口或协议和技术的出现。过去数据存储在文件,SQL数据库在今天很通用。有时,还需要NoSQL数据库。同步远程过程调用RPC或异步消息是通过如RMI,SOAP的Web服务,REST或JMS进行通信的。很多软件筒仓还存在。
Enterprise Integration Patterns 企业集成模式(EIP)
当然,你可以推倒重来,然后再写一些意大利面条代码,让应用程序协同工作。不幸的是,你的管理者不会喜欢这个缺少长远眼光的解决方案。
企业集成模式(www.eaipatterns.com)帮助碎片的问题,并使用标准化的方法来集成应用程序。使用相同的概念路由消息来改造。因此,每次有问题时重新发明轮子不是个好主意。
集成的替代方案
解决方案1 :自定义解决方案
实现一个单独的解决方案,适用于您的问题还没有分离切成碎片。此工程可能是最快的替代的小型用例。你必须自己编写所有。维护成本可能会高,特别是如果团队成员改变。
解决方案2:集成框架
使用这类框架有助于将多个集成模式集成在一个标准化的方式。它减少了损耗。每个开发人员会很容易明白你做了什么(如果他知道所使用的架构) 。
解决方案3:企业服务总线(ESB )
应用企业服务总线在您的应用程序集成中。ESB还有更多的功能,如业务流程管理,注册表或业务活动监控。通常,您可以在图形用户界面配置路由实现这些功能 - 通常情况下,一个ESB是一个复杂的产品。学习曲线要高得多。但是提供您一个非常强大的工具。
Apache Camel是什么?
Apache Camel是一个轻量级的集成框架,它实现了所有EIP。因此,您可以使用EIP所需的图案容易地集成不同的应用。您可以使用Java,Spring的XML,scala或Groovy。几乎每一个技术,你可以想像是可用的,例如HTTP,FTP,JMS,EJB,JPA,RMI,JMS,JMX,LDAP的Netty,和很多很多(当然大多数ESB还提供了对他们的支持)。此外,自定义的组件可以很容易地被创建。
您可以部署Apache的骆驼作为独立的应用程序,在Web容器(如Tomcat或Jetty),在JEE应用服务器(如JBoss应用服务器或WebSphere AS),在OSGi环境或与Spring容器组合。
什么时候使用Camel
如果你想多个应用程序使用不同的协议和技术集成,Apache Camel是真棒。除了支持如此多的技术和除了支持不同的编程语言,每个集成使用EIP下的相同概念!无论您使用何种协议。无论您使用什么技术。无论您使用何种领域特定语言( DSL) - 它可以通过Java , Scala, Groovy的或Spring的XML 。做同样的方式。永远!(有一个生产者,消费者,端点endpoint,有EIP概念,有定制处理器参数(如凭据)
当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: l 请求方法URI协议/版本 l 请求头(Request Header) l 请求正文下面是一个HTTP请求的例子: GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozila/4.0(compatibleMSIE5.01Window NT5.0) Accept-Encoding:gzip,deflate username=jinqiao&password=1234 (1)请求方法URI协议/版本请求的第一行是“方法URL议/版本”:GET/sample.jsp HTTP/1.1 以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。根据HTTP标准,HTTP请求可以使用多种请求方法。例如:HTTP1.1目前支持7种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。 GET 请求获取由Request-URI所标识的资源。 POST 在Request-URI所标识的资源后附加新的数据。 HEAD 请求获取由Request-URI所标识的资源的响应消息报头。 OPTIONS 请求查询服务器的性能,或查询与资源相关的选项和需求。 PUT 请求服务器存储一个资源,并用Request-URI作为...欢迎分享,转载请注明来源:夏雨云
评论列表(0条)