監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
石家莊OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

將舊應(yīng)用改造成Web服務(wù)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

將舊應(yīng)用改造成Web服務(wù)


 Dietmar Kuebler(dkuebler@de.ibm.com),高級(jí)軟件工程師,IBM 德國(guó)

Wolfgang Eibach(
eibachw@de.ibm.com),高級(jí)軟件架構(gòu)設(shè)計(jì)師,IBM 德國(guó)

2002 年 1 月

隨著動(dòng)態(tài)電子商務(wù)及其基于開(kāi)放標(biāo)準(zhǔn)的支持技術(shù)的出現(xiàn),支持企業(yè)中的基本業(yè)務(wù)流程的有價(jià)值的舊應(yīng)用將能夠加入到分布式計(jì)算的這一新領(lǐng)域中來(lái)。在這篇論文中,我們將概略論述如何使Web 服務(wù)技術(shù)能夠應(yīng)用于舊的應(yīng)用 ,然后用一個(gè)示例來(lái)說(shuō)明概念體系結(jié)構(gòu)在舊應(yīng)用中的使用。

介紹

Web 服務(wù)是電子商務(wù)發(fā)展的下一個(gè)階段。Web 服務(wù)把一切都看作服務(wù),這種服務(wù)可以通過(guò)在網(wǎng)絡(luò)上使用消息傳遞動(dòng)態(tài)地被發(fā)現(xiàn)和組織。企業(yè)可以通過(guò)發(fā)布自己的 Web 服務(wù)來(lái)動(dòng)態(tài)地出售它們的服務(wù)。

Web 服務(wù)體系結(jié)構(gòu)(Web services architecture(WSA))是將企業(yè)舊應(yīng)用集成到這一新領(lǐng)域的理想技術(shù)。這是為了啟用程序?qū)Τ绦蛲ㄐ哦鴦?chuàng)建與企業(yè)應(yīng)用交互的、基于 Web 瀏覽器的用戶界面的下一個(gè)步驟。這暗示著人們可以以一種更加自動(dòng)化的方式和更有效的辦法來(lái)做相同的事情。

自電子交易出現(xiàn)以來(lái),人們已經(jīng)開(kāi)發(fā)了大量的應(yīng)用來(lái)滿足日益增長(zhǎng)的對(duì)在線購(gòu)物系統(tǒng)的需求。這些系統(tǒng)大多使用專有實(shí)現(xiàn),通常是因?yàn)樵谶M(jìn)行開(kāi)發(fā)的時(shí)候缺乏開(kāi)放標(biāo)準(zhǔn)。不過(guò),這些早期的專有應(yīng)用所支持的業(yè)務(wù)流程在將來(lái)仍然是必需的。這可以從人們對(duì)這些電子商務(wù)應(yīng)用已作的大量投資中得到證實(shí)。

這些舊應(yīng)用比乍一想起來(lái)要更復(fù)雜。例如,增值稅(value added tax(VAT))計(jì)算 — 類似于美國(guó)的銷售稅計(jì)算 — 如果要支持帶有所有不得不處理的不同條件的全球貿(mào)易情況,那么就會(huì)變得復(fù)雜得多。

為了將舊應(yīng)用融合到動(dòng)態(tài)電子商務(wù)中,我們就需要應(yīng)用 Web 服務(wù)技術(shù),它將允許對(duì)服務(wù)進(jìn)行定義,從而隱藏舊應(yīng)用接口的一些復(fù)雜性。

一旦對(duì)舊應(yīng)用做了技術(shù)上的改造,業(yè)務(wù)流程的自動(dòng)化程度就可能變得更高,也更少需要人工干預(yù)。

讓舊應(yīng)用重?zé)ɑ盍?/STRONG>

Web 服務(wù)的概念和面向服務(wù)體系結(jié)構(gòu)(service oriented architecture(SOA))方法為舊應(yīng)用在 Web 上可用創(chuàng)造了機(jī)會(huì)。在這篇文章中,我們將展示如何將概念體系結(jié)構(gòu)應(yīng)用到當(dāng)今的眾多舊應(yīng)用中,這些舊應(yīng)用在大型機(jī)和其它服務(wù)器上運(yùn)行。這包括在大型機(jī)事務(wù)管理器(即 Customer Information Control System Transaction Server(CICS TS)或 Information Management System(IMS))控制之下的應(yīng)用。(請(qǐng)參閱參考資料。)

這種概念有許多優(yōu)點(diǎn):

它能夠使已認(rèn)證的產(chǎn)品級(jí)應(yīng)用作為 Web 服務(wù)可用。這允許為 Web 服務(wù)提供者的客戶快速部署穩(wěn)定的 Web 服務(wù)。

Web 服務(wù)的用戶在大型舊應(yīng)用上的巨額投資將得到保護(hù),同時(shí)未被修改的舊應(yīng)用仍然可以作為服務(wù)器應(yīng)用在大型機(jī)主機(jī)上運(yùn)行。

它能夠給 Web 用戶帶來(lái)運(yùn)行基于大型機(jī)的應(yīng)用的優(yōu)點(diǎn),例如:

高可擴(kuò)展性:當(dāng)一個(gè) Web 服務(wù)被啟動(dòng)時(shí),使用該服務(wù)的潛在用戶的數(shù)量是未知的?;诖笮蜋C(jī)(如 zSeries Parallel Sysplex)群集的服務(wù)由 Workload Manager(WLM)動(dòng)態(tài)管理,并且可以伸縮到非常高的程度。(請(qǐng)參閱參考資料。)

高可用性:Web 服務(wù)對(duì)于企業(yè)對(duì)消費(fèi)者(business-to-consumer(B2C))和企業(yè)對(duì)企業(yè)(business-to-business(B2B))的用戶必須是全年全周全天候 99.99% 可用的。大型機(jī)群集可被設(shè)置成無(wú)單點(diǎn)失效,以確保這個(gè)級(jí)別的可用性。

持續(xù)運(yùn)轉(zhuǎn):大型機(jī)可以在不中斷在群集上運(yùn)行的應(yīng)用的情況下進(jìn)行計(jì)劃內(nèi)的系統(tǒng)停機(jī),以進(jìn)行軟件或硬件升級(jí)。不必中斷運(yùn)轉(zhuǎn)即可引入另外的系統(tǒng)。

概念體系結(jié)構(gòu)

我們的論文將首先展示一個(gè)概念體系結(jié)構(gòu),可以把這個(gè)體系結(jié)構(gòu)當(dāng)作一個(gè)模板,用來(lái)把已經(jīng)投入生產(chǎn)的舊應(yīng)用改造成作為 Web 服務(wù)可用的。圖 1 顯示了這個(gè)體系結(jié)構(gòu)的結(jié)構(gòu),下面的描述將詳細(xì)解釋其中的各個(gè)組件。

在這篇論文的后面,我們將展示這一概念的一個(gè)實(shí)際實(shí)現(xiàn)的示例。

圖 1:通過(guò) SOAP 訪問(wèn)舊應(yīng)用的概念體系結(jié)構(gòu)


圖 1 所示的概念體系結(jié)構(gòu)包括了一個(gè) Web 服務(wù)的三個(gè)組件:服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)中介者。服務(wù)請(qǐng)求者是 Web 服務(wù)的消費(fèi)者,很可能是運(yùn)行在企業(yè)客戶的服務(wù)器上的一個(gè)程序。服務(wù)提供者程序從 UDDI 庫(kù)即服務(wù)中介者處獲取關(guān)于可用服務(wù)的信息。可用的 Web 服務(wù)是用 Web 服務(wù)描述語(yǔ)言(Web Services Description Language(WSDL))描述的,從而支持與平臺(tái)無(wú)關(guān)的通信。

當(dāng)服務(wù)請(qǐng)求者選擇了一個(gè)服務(wù)時(shí),它將使用 WSDL 描述來(lái)找出訪問(wèn)該服務(wù)的方法。訪問(wèn)該服務(wù)的方法一被找到,WSDL 描述便被用來(lái)生成發(fā)送給應(yīng)用服務(wù)器的 SOAP 請(qǐng)求消息,應(yīng)用服務(wù)器扮演服務(wù)提供者的角色。

在上述的示例中,SOAP 請(qǐng)求被作為一條 HTTP POST 請(qǐng)求發(fā)出。使用 HTTP 具有能夠穿過(guò) Web 服務(wù)器上通常都存在的防火墻的優(yōu)點(diǎn)。如果要求比 HTTP 所提供的消息傳遞更可靠的消息傳遞,則您可以使用一個(gè)可靠的消息隊(duì)列系統(tǒng),例如:MQSeries Internet Passthrough(MQ IPT)或 Oracle 應(yīng)用服務(wù)器。MQ IPT 也在 HTTP 協(xié)議上運(yùn)行,因此能夠穿過(guò)防火墻(請(qǐng)參閱參考資料)。不過(guò),它也具有 MQ 消息傳遞給應(yīng)用帶來(lái)的所有優(yōu)點(diǎn)。

穿過(guò)防火墻后的 SOAP 請(qǐng)求消息由 HTTP 服務(wù)器處理。HTTP 服務(wù)器分析 HTTP 頭信息并找到 SOAP 路由器組件的名稱,該名稱是統(tǒng)一資源名(Uniform Resource Name(URN))的一部分。請(qǐng)求消息被傳遞到指定的 SOAP 路由器。SOAP 路由器分析 HTTP 頭并找到某個(gè) Web 服務(wù)適配器(Web service adapter)的位置。然后,SOAP 路由器將把該請(qǐng)求傳遞到所請(qǐng)求的適配器。

Web 服務(wù)適配器

為了能夠使 Web 服務(wù)適配器可用于服務(wù)訪問(wèn),必須為每一個(gè)服務(wù)開(kāi)發(fā) Web 服務(wù)適配器。Web 服務(wù)適配器通常是一個(gè)連接到后端服務(wù)器的 Java 應(yīng)用程序。這個(gè)連接可以是后端服務(wù)器支持的任何通信連接,也就是說(shuō),它可以是運(yùn)行在傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transmission Control Protocol/Internet Protocol(TCP/IP))或高級(jí)程序?qū)Τ绦蛲ㄐ牛ˋdvanced Program to Program Communication(APPC))協(xié)議連接的本機(jī) MQSeries 通道。連接到后端系統(tǒng)的其它選擇是使用 CICS TS 外部調(diào)用接口(External Call Interface(ECI)),如果后端系統(tǒng)使用的是 CICS TS 事務(wù)系統(tǒng)的話。

對(duì)于每個(gè) SOAP 服務(wù)請(qǐng)求,Web 服務(wù)適配器調(diào)用一個(gè)后端應(yīng)用。在一個(gè) SOAP 請(qǐng)求會(huì)導(dǎo)致對(duì)一個(gè)或多個(gè)后端服務(wù)器系統(tǒng)的多個(gè)請(qǐng)求的情況下,生成復(fù)雜的 Web 服務(wù)也是可能的。后端請(qǐng)求的組合結(jié)果被合并成一個(gè) SOAP 響應(yīng),這個(gè) SOAP 響應(yīng)接著被回傳給服務(wù)請(qǐng)求者。

Web 服務(wù)適配器隱藏了調(diào)用后端函數(shù)的復(fù)雜性,只要求您指定執(zhí)行一個(gè)服務(wù)時(shí)所絕對(duì)必需的參數(shù)子集。

事務(wù)管理

一個(gè)復(fù)雜的業(yè)務(wù)組件包含多個(gè)需要被執(zhí)行事務(wù)。這些事務(wù)請(qǐng)求可能向一個(gè)或多個(gè)后端系統(tǒng)發(fā)出。這其中有一個(gè)重要的業(yè)務(wù)要求就是,所有這些后端請(qǐng)求都必須屬于一個(gè)稱為邏輯工作單元(logical unit of work(LUW))的主事務(wù)。

LUW 必須符合為事務(wù)系統(tǒng)定義的要求,這些要求通常稱為 ACID 范例:

A 表示原子性(atomicity):事務(wù)是處理過(guò)程的原子單元;事務(wù)或者整個(gè)被執(zhí)行,或者根本不被執(zhí)行。

C 表示一致性(conistency):LUW 的一個(gè)正確執(zhí)行必須將所涉及的所有資源從這個(gè)一致?tīng)顟B(tài)變成另一個(gè)一致?tīng)顟B(tài)。

I 表示孤立性(isolation):在 LUW 被提交之前,在 LUW 中所做的所有更新都不應(yīng)被其它事務(wù)看見(jiàn)。

D 表示持續(xù)性(durability):一旦在 LUW 中所做的更新被提交后,這些更改必須永遠(yuǎn)不會(huì)因后來(lái)發(fā)生的故障而丟失。

最后,回滾也被看作是一個(gè)重要屬性,回滾能夠撤銷所有先前所執(zhí)行的調(diào)用。

可以在分布式系統(tǒng)的不同位置控制 LUW 的執(zhí)行。一種可能是把控制放在客戶機(jī)位置,客戶機(jī)在 Web 服務(wù)體系結(jié)構(gòu)中就是服務(wù)請(qǐng)求者。這在現(xiàn)今是一個(gè)問(wèn)題,因?yàn)橥ㄟ^(guò)網(wǎng)際連接來(lái)控制 LUW 還沒(méi)有解決方案。在本篇論文給出的所提議的概念體系結(jié)構(gòu)中,LUW 的控制位于 Web 服務(wù)適配器。這個(gè)解決方案使用了企業(yè) JavaBean(Enterprise JavaBeans(EJB))的事務(wù)控制擴(kuò)展,并且使用后端系統(tǒng)事務(wù)管理器來(lái)控制對(duì)屬于這些系統(tǒng)的資源所做的改動(dòng)。

圖 2 顯示了前述概念體系結(jié)構(gòu)的一個(gè)變體,這個(gè)變體使用了 Java 2 企業(yè)版(Java 2 Enterprise Edition(J2EE))和企業(yè) JavaBean(Enterprise JavaBeans(EJB))。此外,在后端服務(wù)器上添加了一個(gè)事務(wù)資源管理器。典型的大型機(jī)后端服務(wù)器事務(wù)管理器是 CICS TS 系統(tǒng)或 IMS。

圖 2:使用 Web 服務(wù)將事務(wù)組合成一個(gè)邏輯工作單元


通過(guò)利用 EJB 的事務(wù)協(xié)同功能,可以將對(duì)一個(gè)或多個(gè)后端服務(wù)器上的事務(wù)的許多單個(gè)請(qǐng)求的控制組合成一個(gè)邏輯工作單元。

如果 Web 服務(wù)適配器作為 EJB 會(huì)話 bean 實(shí)現(xiàn),則當(dāng)它接收到對(duì)復(fù)雜服務(wù)的 SOAP 請(qǐng)求時(shí),就將啟動(dòng)一個(gè)工作單元。接著,后端系統(tǒng)上的事務(wù)通過(guò)發(fā)送中間件消息被調(diào)用。這些消息將被發(fā)出到一個(gè)或多個(gè)后端系統(tǒng)。如果有任何一個(gè)來(lái)自被調(diào)用的后端事務(wù)的響應(yīng)以錯(cuò)誤結(jié)束,那么會(huì)話 JavaBean 將對(duì)在不同系統(tǒng)上啟動(dòng)了的所有事務(wù)發(fā)起回滾。這保證了 SOAP 服務(wù)請(qǐng)求或者得到完全執(zhí)行,或者保持該請(qǐng)求被發(fā)出之前的狀態(tài)。這避免了后端舊系統(tǒng)的數(shù)據(jù)庫(kù)的任何不一致?tīng)顟B(tài)。

一個(gè)樣本實(shí)現(xiàn)

為了驗(yàn)證這里所描述的體系結(jié)構(gòu),我們開(kāi)發(fā)了一個(gè)樣本實(shí)現(xiàn)。它使用現(xiàn)有的在 IMS 事務(wù)管理器下運(yùn)行的后端主機(jī)應(yīng)用。這個(gè)系統(tǒng)通過(guò)專有接口為訂戶提供各種現(xiàn)今已有的服務(wù)。

作為一個(gè)示例,我們將歐洲所使用的 VAT 計(jì)算實(shí)現(xiàn)為一個(gè)服務(wù)。這個(gè)實(shí)現(xiàn)使用位于主機(jī)位置端的 SOAP 服務(wù)器。SOAP 客戶機(jī)通過(guò)應(yīng)用服務(wù)訪問(wèn)該服務(wù),在這個(gè)例子中是通過(guò)在 Windows 2000 上運(yùn)行的 WebSphere Application Server 來(lái)訪問(wèn)服務(wù)??蛻魴C(jī)和主機(jī)“訪問(wèn)”層之間的通信使用啟用了 SOAP 的 MQSeries,并且使用 HTTP 作為底層傳輸機(jī)制。為了讓消息能夠穿過(guò)主機(jī)防火墻,就需要 MQ IPT 包。圖 3 顯示啟用了 SOAP 的 VAT 服務(wù)的樣本實(shí)現(xiàn)的概略圖。

圖 3:?jiǎn)⒂昧薙OAP的舊應(yīng)用樣本


用 WSDL 寫(xiě)的 VAT SOAP 服務(wù)接口

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="VatSOAPService-interface"

  targetNamespace=

    "http://www.boeblingen.de.ibm.com/webservices/vat/vatsoapservice-interface"

  xmlns="http://schemas.xmlsoap.org/wsdl/"

  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

  xmlns:tns="http://www.boeblingen.de.ibm.com/webservices/vat/vatsoapservice"

  xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<message name="IndoSimpleCalculationRequest">

  <part name="city"           type="xsd:string"/>

  <part name="zipCode"        type="xsd:string"/>

  <part name="county"         type="xsd:string"/>

  <part name="state"          type="xsd:string"/>

  <part name="country"        type="xsd:string"/>

  <part name="currency"       type="xsd:string"/>

  <part name="amountExponent" type="xsd:int"/>

  <part name="quantity"       type="xsd:int"/>

  <part name="unitPrice"      type="xsd:long"/>

  <part name="vatClass"       type="xsd:string"/>

</message&gt;

<message name="OutdoSimpleCalculationResponse">

  <part name="return" type="xsd:long"/>

</message&gt;

<message name="IndoComplexCalculationRequest">

  <part name="city"           type="xsd:string"/>

  <part name="zipCode"        type="xsd:string"/>

  <part name="county"         type="xsd:string"/>

  <part name="state"          type="xsd:string"/>

  <part name="country"        type="xsd:string"/>

  <part name="currency"       type="xsd:string"/>

  <part name="amountExponent" type="xsd:int"/>

  <part name="vssis"          type="ArrayOfItems"/>

</message&gt;

<message name="OutdoComplexCalculationResponse">

  <part name="return" type="ArrayOfVatSOAPServiceItem"/>

</message&gt;

<types&gt;

  <xsd:schema targetNamespace="urn:webservices-vat-service"

              xmlns:xsd="http://www.w3.org/1999/XMLSchema">

    <xsd:complexType name="item">

      <xsd:element name="quantity"      type="xsd:int"/>

      <xsd:element name="unitPrice"     type="xsd:long"/>

      <xsd:element name="net"           type="xsd:long"/>

      <xsd:element name="gross"         type="xsd:long"/>

      <xsd:element name="vatTaxAmount"  type="xsd:long"/>

      <xsd:element name="vatTaxPercent" type="xsd:long"/>

      <xsd:element name="vatClass"      type="xsd:string"/>

    </xsd:complexType&gt;

    <xsd:complexType name="ArrayOfItems">

      <xsd:complexContent mixed="false">

        <xsd:restriction base="soapenc:Array">

          <xsd:attribute n1:arrayType="item[]" ref="soapenc:arrayType" xmlns:n1

="http://schemas.xmlsoap.org/wsdl/" />

        </xsd:restriction&gt;

      </xsd:complexContent&gt;

    </xsd:complexType&gt;

  </xsd:schema&gt;

</types&gt;

<portType name="VatSOAPService">

  <operation name="doSimpleCalculation">

    <input  message="IndoSimpleCalculationRequest"/>

    <output message="OutdoSimpleCalculationResponse"/>

  </operation&gt;

    <operation name="doComplexCalculation">

    <input  message="IndoComplexCalculationRequest"/>

    <output message="OutdoComplexCalculationResponse"/>

  </operation&gt;

</portType&gt;

<binding name="VatSOAPServiceBinding" type="VatSOAPService">

  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

  <operation name="doSimpleCalculation">

    <soap:operation soapAction="urn:webservices-vat-service"/>

    <input&gt;

      <soap:body

          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

          namespace="urn:webservices-vat-service"

          use="encoded"/>

    </input&gt;

    <output&gt;

      <soap:body

          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

          namespace="urn:webservices-vat-service" use="encoded"/>

    </output&gt;

  </operation&gt;

  <operation name="doComplexCalculation">

    <soap:operation soapAction="urn:webservices-vat-service"/>

    <input&gt;

      <soap:body

          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

          namespace="urn:webservices-vat-service"

          use="encoded"/>

    </input&gt;

    <output&gt;

      <soap:body

          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

          namespace="urn:webservices-vat-service"

      use="encoded"/>

    </output&gt;

  </operation&gt;

</binding&gt;

</definitions&gt;

結(jié)束語(yǔ)

在應(yīng)用開(kāi)發(fā)上投資始終是企業(yè)的一個(gè)話題。當(dāng)開(kāi)放標(biāo)準(zhǔn)網(wǎng)絡(luò)化世界開(kāi)始主宰 IT 世界時(shí),對(duì)這些投資的保護(hù)可能要發(fā)生變化。今天,許多企業(yè)都在設(shè)法將它們的舊應(yīng)用改造成面向組件的系統(tǒng)。便于這種改造的一個(gè)新的選擇可能是 Web 服務(wù)技術(shù)的使用。舊應(yīng)用中的基本服務(wù)可以包裝成 Web 服務(wù)并組織成為具有更高價(jià)值的服務(wù)。

在這篇文章中,我們描述了如何通過(guò)應(yīng)用 Web 服務(wù)技術(shù)來(lái)使舊應(yīng)用成熟起來(lái)。我們已經(jīng)展示了怎樣能夠?qū)S薪涌诟脑斐蓜?dòng)態(tài)電子商務(wù)所需的基于開(kāi)放標(biāo)準(zhǔn)的接口。

作為一個(gè)示例,我們已經(jīng)用一個(gè)使用來(lái)自電子交易領(lǐng)域的舊應(yīng)用碰到的“實(shí)際”問(wèn)題展示了如何完成這項(xiàng)工作。電子化市場(chǎng)的供應(yīng)商或類似的企業(yè)需要特別用于付費(fèi)和記帳目的的基本服務(wù)。它們也需要由大型機(jī)主機(jī)服務(wù)器提供的穩(wěn)定性、可擴(kuò)展性和高可用性。我們也描述了如何可以不修改舊應(yīng)用所使用的現(xiàn)有系統(tǒng)而對(duì)事務(wù)管理進(jìn)行處理。

參考資料

  • 請(qǐng)單擊文章頂部或底部的討論參與本文的討論論壇
  • 您可以學(xué)習(xí)一些 Web 服務(wù)體系結(jié)構(gòu)(WSA)、動(dòng)態(tài)電子商務(wù)面向服務(wù)的體系結(jié)構(gòu)(SOA)的背景基礎(chǔ)知識(shí)。
  • 想了解關(guān)于大型機(jī)硬件和應(yīng)用的更多信息,您應(yīng)參閱 IBM 的 zSeries、Parallel Sysplex for zOS、IBM CICS Transaction ServerIMS、IBM Workload Manager WLMMQSeries InternetPassthru



關(guān)于作者

Kuebler 是在 IBM Boeblingen Lab 工作的高級(jí)軟件工程師。自 1990 年進(jìn)入 IBM 以來(lái),他擔(dān)任過(guò)開(kāi)發(fā)、技術(shù)營(yíng)銷和項(xiàng)目管理等各種職務(wù),具有在多環(huán)境下進(jìn)行體系結(jié)構(gòu)和軟件開(kāi)發(fā)的廣泛經(jīng)驗(yàn)。他的專業(yè)技術(shù)領(lǐng)域包括面向?qū)ο蠹夹g(shù)、VisualAge for Java、WebSphere 以及中間件技術(shù)。他目前的職責(zé)包括用于動(dòng)態(tài)電子商務(wù)的電子公共設(shè)施(eUtility)的定義、體系結(jié)構(gòu)和原型建立。他在德國(guó) Stuttgart University 學(xué)習(xí)計(jì)算機(jī)科學(xué),畢業(yè)于 1990 年。您可以通過(guò)
dkuebler@de.ibm.com 與他聯(lián)系。


Eibach 是在 IBM Boeblingen Lab 工作的高級(jí)軟件架構(gòu)設(shè)計(jì)師。自 1968 年進(jìn)入 IBM 以來(lái),他擔(dān)任過(guò)區(qū)域支持、微碼和軟件開(kāi)發(fā)等各種職務(wù)。他從事過(guò)不同環(huán)境下的架構(gòu)設(shè)計(jì)工作。他的專業(yè)技術(shù)領(lǐng)域包括面向?qū)ο蠹夹g(shù)、大型系統(tǒng)服務(wù)器技術(shù)、網(wǎng)絡(luò)和中間件技術(shù)。他目前的職責(zé)包括用于動(dòng)態(tài)電子商務(wù)的電子公共設(shè)施的定義、體系結(jié)構(gòu)和原型建立。他在德國(guó) Giessen University 學(xué)習(xí)射頻技術(shù),畢業(yè)于 1968 年。您可以通過(guò) eibachw@de.ibm.com 和他聯(lián)系。

發(fā)布:2025-12-17 21:59    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]