Runtime - Integration Server - Adapter Engine & Adapter Framework

本文详细解读了从XI架构中Adapter Engine组件及其组成部分,包括Adapter Framework与Resource Adapters的作用,以及消息交换流程从一个EIS到另一个EIS的过程。同时阐述了Adapter Engine运行在J2EE平台而Integration Engine则运行在ABAP堆栈上,两者通过XIM消息进行信息共享。本文深入探讨了适配器的概念与应用。

1. From the XI architecture, we can see Adapter Engine is a part of Integration Sever, and Adapter Engine comprises of Adapter Framework and Resource Adapters. Usually we say AE is based on AF.

NOTE:

    a) Adapter Framework supports JCA (J2EE Connector Architecture) but is not based on it. In my opinion, Adapter Framework is an AOP(Aspect Oriented Programming) product like Microsoft .NET Enterprise Library which can provide lots of common functionalities like logging, security, cache, exception handling etc.

    b) JCA is standard architecture for connecting the J2EE platform to EIS (Enterprise Infomation Systems) like DBMS, ERP etc. The resource adapters locate at Adapter Engine are software components based on JCA.

 

2. The steps a message interchanges from one EIS to another are:

    EIS -> Adapter Engine (Specific Adapter -> [SOAP-XML] -> Module Processor -> messaging/queue) -> [SOAP-XML/HTTP] -> Integration Server (Pipeline Services - Receiver Identification-> Interface Identification -> Message Split -> Message Mapping -> Technical Routing -> Call Adapter) -> another EIS system.

3. Adapter Engine runs on J2EE platform but Integration Engine works on ABAP stack. In this case they share infomation via XI message not JRFC.

 

4. Adapters

<SAP:Stack>通过 HTTP 接收时出现错误(错误代码:Configuration error on Adapter-Framework(AFW)-Server,错误文本: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rest.ejb.common.exception.HttpCallException: HTTP POST call to http://192.168.0.25:8886/Api/BaseMaterial/SAP_TO_SRM_2530_Material not successful. Bad Requestat com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:790)at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:726)at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:441)at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:439)at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:428)at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:82)at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:468)at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:262)at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328) )More details about AFW error can be found in XI monitor MessagingException </SAP:Stack> <SAP:Retry>M</SAP:Retry> </SAP:Error>
08-08
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值