账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
为软体瘦身 让资讯清晰
结合Java与XML

【作者: 葉建華】2001年06月01日 星期五

浏览人次:【5034】

前言

在资讯技术进步的今天,许许多多的企业都受惠于新时代的网路技术,发展出各式各样足以提升其竞争力的运作模式以及企业软体。而这些所谓的企业软体,就资讯技术的观点而言,可以分为两大层面来看:一是所谓的资讯运作架构,一是所谓的资讯呈现与交换。


在资讯运作方面,目前已经由单一应用程式(single application)或是传统的主从式架构(client/server architecture),逐渐演变成拥有良好扩充性质(scalability)的多层次运作架构(multi-tier service architecture)。而在资讯呈现与运作方面,也由传统的封闭式自订规格(private data format specification),逐渐走向开放式的描述标准(public data description standard)。


对使用传统资讯技术的企业来说,近几年正受到新式网路技术所带来的冲击,以及企业自身发展的瓶颈,亟思应变与生存之道:如何改良以往的集中式服务运作,降低企业伺服端的负载;如何因应开放式的网路资讯交换,将部分的企业资讯转为符合开放式的标准;同时更因应扩大的企业组织与规模,发展出容易组态以及使用的软体​​模组。


整体来说,企业所需要的,是取代传统「肥胖」运作系统的资讯技术,以及更便利企业间资料交换的资讯「描述」标准。这一切一切的需求,正需要资讯技术进一步的努力与支援。我们今天所要讨论的,正是针对上述的需求,为读者做一个广泛的探讨。本文将会针对几项重点进行讨论:资料与应用程式的整合、行动与分散式计算、以及通用形式的资料交换。


为软体瘦身:使用适合Internet的Java技术

Java是一种高阶的程式设计语言,由于它是在Internet时代中出生的,因此自然而然的拥有许多网路时代应有的特点:


  • ● 程式简洁


  • ● 具有物件导向特性


  • ● 具有分散式的程式特性


  • ● 直译的程式语言


  • ● 坚固强韧的执行系统


  • ● 安全的运作环境


  • ● 与平台无关的中立架构


  • ● 具有可移植性


  • ● 高效率的程式语言


  • ● 具有多执行绪的多工运作模式


  • ● 具有动态的程式特性



而在使用Java程式语言上,则可以在许多方面辅助程式设计者,如下所述:


1.进入的学习障碍较低:

虽然Java是一种强大的物件导向式语言,但是它仍是一种容易学习的程式语言,特别是对已经熟悉C++的程式设计师来说,更是如此。


2.程式码较为精简:

就各项比较标准而言,我们可以很容易的了解到,平均来说,Java程式比起相同功能的C++程式而言,C++程式约是Java程式码的四倍大。


3.程式码较为优良:

如果使用Java为程式设计语言,Java本身的特性将会驱使程式设计师趋向较为良好的程式设计习惯,同时Java系统中的记忆体回收系统(garbage collector)也可以避免程式设计所造成的各项记忆体配置问题。此外,Java架构本身所定义的各项可重复使用的元件,可以有效的降低程式设计师的设计负担,以及更加便利的除错环境。


4.更有效率地开发程式:

使用Java将可以较C++降低50%的开发时间。


5.与平台架构无关:

如果使用100%的纯Java来开发程式,将可以造就具有可移植性的程式码,而不在需要仰赖其他与平台相关的连结程式库。


6.可轻易地散布软体程式:

由于Java具有程式码的可移动性(code mobility),利用透过网路传递Java程式码的途径,我们将可以轻易地达到程式码升级的目的,而不必重新编译程式码,也不必再安装程式。


由以上的特性,我们可以清楚的知道,使用Java之后,我们将可以在不牺牲软体规模的情况下,有效地减少程式码的大小,进而达到软体瘦身的目的。


让资讯清晰:使用适合资料交换的XML技术

在以往数位资料与数位文件的交换问题上,常常会受限于特定且定义松散的文件格式,但随着HTML的出现,我们可以透过Web浏览器来展示互动性的资料。这提供了企业一个标准的资料交换途径,用以交换具互动性的视觉化资料。但是HTML仍然有一些潜在的不足,因为HTML并不能够支援所有企业中所使用的资料型态,所以即使HTML目前算是个定义完善的标记语言,仍然无法适用于所有种类的企业环境之中。


这些潜在的不足,共同促成了后来XML (Extensible Markup Language)的出现。这个XML标准可以允许企业根据自身的需求来定义自己专属的标记语言,如电子商务、供需整合、资料管理、以及资料出版等等。也就因为有着这样的弹性,使得XML快速地成为企业资料的管理工具。


XML中所定义的标记,可以以开放且跨平台的形式来呈现资料及概念,而用XML标记所描述的资料,则会拥有更大的重复使用可能。也就是因为如此,XML便成为许多特定产业中制定特殊用途标记语言的标准,而这些产业的投身参与,也共同造就了资讯快速共享与交换的运作环境。


如上所述,XML在企业中占有着重要的地位,也影响了企业应用开发的内涵。在早期,企业中使用电脑来处理资料的模式,基本上是以部门为单位来构成,而相对地,在系统的开发上,也就会以部门为单位来进行开发。这样演变的结果,形成了各个系统都是以甚为狭窄的资料处理为目标,所做到的只是将企业部门中特定的商业处理流程自动化而已,完全缺乏对外的沟通操作能力,也鲜少需要和其他部门的系统做整合。


这样的安排造就了所谓垂直整合(Stovepipe)系统,也就是说,在系统的开发上,完全是以特定使用者以及特定目标来进行,很少会见到所谓的水平整合需求。这样的企业运算环境,就如同海中的孤岛一般。而这样的模式下,会产生两个相当严重的问题。


首先,系统之没有相互运作的能力。也就是说,要在系统之间做资料的操作几乎是没有可能。其次,重要的商业资料会因此有建立复本的需要。而这些问题的存在,使得企业难以针对客户建立单一且复杂的资料应用环境。因此,这样的商业运算模型的确有其改进的必要。


针对上述所谓的「孤岛」运算环境,出现了三股主要的力量来推动其变革,如下所述:


  • 1. 在企业中,随着跨部门与跨功能商业应用需求的出现,使得整合目前各部门系统的脚步开始加快。


  • 2. 越来越多人意识到客户资料不能被封闭在单一的孤岛之中,而应该被视为企业的主体。


  • 3. 希望能够整合厂商与客户的系统需求日渐增加。



简而言之,这些需求所引发了企业内部整合,便促成并建立出一个新的运算模型。而这个新的模型,正是以XML为资料核心的运作模式。以下以一个订购范例来呈现XML具有清楚描述资料的特性:



<?xml version="1.0" ?>

<!DOCTYPE Order [
  <!ELEMENT Order (OrderID, 
                   CustomerID, 
                   ProductID, 
                   Quantity, 
                   Options*)>
  "
  <!ELEMENT CustomerID (#PCDATA)>
  <!ELEMENT ProductID (#PCDATA)>
  <!ELEMENT Quantity (#PCDATA)>
  <!ELEMENT Options (
   "Option1 | Option2 | Option 3)+ 
  "
  "
  "
  "
  "
  "
]>

<Order>
 <OrderID>15</OrderID>
 RULES"RULES
 <ProductID>DC123_44</ProductID>
 <Quantity>5</Quantity>
 <Options>
  "
  <Option2>
   3"3
   <Field2B>black</Field2B>
  </Option2>
  <Option2>
   2"2
   whiteField 2B"whiteField 2B
  </Option2>
 </Options>
</Order>



当XML碰上Java:企业运作优势的再提升

我们知道,有了XML的支援,我们可以建立具结构化的资料描述。首先,它提供了资料封装的特性,清楚的表示了资料的起始与结束,​​以单一的单元来看待结构化的资料。其次,XML语言提供了资料内容的结构关连,可以告知我们其中资料在该单元中的关系。最后,XML语言提供了所谓的诠释资讯(meta-information)。这些特色,共同造就了跨平台的资料描述特色。


那Java呢? Java本身的跨平台运算能力在合作运算环境中早已获得肯定。例如,XML-Dev讨论群就利用Java技术开发出所谓的SAX(Simple API for XML)介面。 SAX是一个以Java技术为基础的程式介面,它允许应用程式将任何的XML分析器,整合进应用程式之中,以支援分析文件的特色。


当我们一起使用XML以及Java技术之后,对企业内外的各项整合上,就会更具有相互运作的能力。同时也因为Java的各项特性(如网际网路导向、精简的程式码、程式码具有可移动性、独立于软硬体平台之外),使得在Java与XML的结合后,所能呈现出来的影响力,将是重要且无法将其忽略的。以下我们简单的介绍一下企业中各种型态的工作,在XML以及Java的支援下,如何简化并增进这些工作的效率。


电子资料交换(Electronic Data Exchange)与电子商务

基本上,要处理其他部门或是其他企业的资料,必须先去了解一些相关的知识,如通讯、网路、资料处理等等,这样的工作似乎应该是件简单的工作,但是事实上却不是那么的理想。在这种简单的资料交换工作中,如何确认资料的格式与内容的正确性仍然是最主要的症结。因此,应用XML来解决以往的问题,的确可以达到快速与简单的开发目的,理由如下:


1. 非标准格式的电子资料交换需要开发者建立一个专属的分析器,以应付特定的资料格式。而XML技术可以使用标准的XML分析器来解决这部份的需求。


2. 一个XML分析器可以马上提供部份内容的检验功能,以确保所有必要的栏位都能够以正确的规则存在,但是这样的工作需要一个DTD来配合。而其他的内容正确性确认工作则可以开发以W3C DOM(Document Object Model)为基础的应用程式来予以处理。 DOM是一个程式开发介面,用以便利XML文件的检视。而我们则可以应用栏位验证规则来验证文件中的元素内容。


当XML标记和Java技术结合之后,便可更轻易的电子资料交换的应用。理由很简单:首先,Java平台是以网际网路为基础,可以顺利简便的使用TCP/IP为交换资料两端的通讯协定。因此,网际网路便可以顺理成章的成为电子资料交换的平台。


此外,XML与Java均以Unicode支援为基础,可以提供企业在这方面的开发支援,以利建立国际性的应用程式。而使用了Unicode之后,应用程式便可以使用多国语言来呈现资料内容。因此,透过XML的资料交换格式,以及Java技术所开发的国际化应用程式,XML文件便可以在全球流通与交换。


电子资料交换EDI(Electronic Data Interchange)

EDI是一个特殊的资料交换环境,且大多是使用加值型网路(VAN, Value-Added Network)为传输媒介,并仰赖X12或是EDIFACT标准来交换所需要的资料。


到目前为止,EDI仍是一个相当昂贵的运作环境,它需要各个资料交换单位自行设定及安装,也就是因如此,目前有不少企业以及单位正慎重的考虑采用XML语言,讨论XML是否可以成为X12以及EDIFACT文件的标准格式,但目前仍未有任何决定性的进展。


但是无论如何,眼前XML可以在这个领域中发挥的用途,是为EDI文件建立语汇以及格式的定义。这对于使用以X12以及EDIFACT文件为基础的交换单位来说,特别有帮助,因为这些单位可以用XML来和EDI文件的结构纲要(schema)做沟通。而就长远的目标来说,这样的资讯可以成为自动交换处理程序的一部份,也可以借此减少开发上所需要的成本。


企业应用程式整合(EAI, Enterprise Application Integration)方面

企业应用程式整合的定义,就是如何使企业中一个个独立运作的应用程式,在组合之后能够成为一个大型的单一应用程式。这是项艰巨且复杂的工作,因为这需要在正确的时间内将正确的资料做复制或是分散到正确的系统单元中。例如,当会计系统和销售系统整合起来之后,销售系统会将订购资料送给会计系统,从而产生发票资料。此外,会计系统也必须将发票资料送给销售系统以更新销售记录。如果流程正确无误的完成的话,一个单一的销售交易可以自动产生一笔销售记录与发票,避免了人为资料输入所可能产生的错误。


由于Java平台支援各种中介服务的连结,如资料库、交易处理监控程式、非同步讯息传系统、以及物件需求媒介,使得Java成为开发EAI最有利的工具之一。而在Java企业应用程式开发介面上,更以J2EE平台为基础,发展出各项支援企业运作的标准,包括Enterprise JavaBeans架构、Java IDL(Java远端物件运作介面定义语言,Java Interface Definition Language)、 JDBC(资料库连结服务,Java Database Connectivity)、JMS(讯息传递服务,Java Messaging Service)、JNDI(名称与目录查询介面,Java Naming and Directory Interface)、JTS(交易服务介面,Java Transaction Service) API。


这些介面共同提供开发者和许多非Java环境之间的沟通工具。而XML便可以用来在Java环境与非Java环境之间扮演呈现Java物件资料的重要角色。下图说明了在J2EE架构下如何将企业应用程式与XML资料交换做一个良好的整合。请参考(图一)。



《图一 在J2EE架构下企业应用程序与XML数据交换的整合》
《图一 在J2EE架构下企业应用程序与XML数据交换的整合》

后记

由以上的讨论,我们可以清楚的了解到,让软体瘦身,特别是企业软体,是相当重要的。同时,让企业资料清晰且透明,则是通往开放资料交换目标的不二法门。可以想见的,由于XML本身所具有的弹性,以及Java本身所具有的跨平台及网路的优势,在两者的合作之下,可以发挥出来的影响不容忽视。


因此,一个以XML为基础的伺服架构,配合Java所发展出来的多阶层式的企业服务,将能够有效地达到「软体瘦身、资讯清晰」的目标,进而达成企业竞争力提升的最终目的。


相关文章
线下服务应用与HTML规范发展
抢攻主流市场SSD得再加把劲
SOAP - 让程式畅行于网路间
打造Web行动应用系统平台
家电连网的想象与现实
comments powered by Disqus
相关讨论
  相关新闻
» AI浪潮来袭!伺服器面临高热密度挑战 Vertiv协助矽谷主机代管商在既有机房突破散热瓶颈
» 英业达捐赠台大高效伺服器 引领学术研究高算力大未来
» 数位部办理5G专网国际论坛 机械业看好有助於短链劳动力
» 欧盟规划6G计画主席来台 与经济部签约合作跨国研发
» TrendForce:伺服器供应链重组 云端大厂扩大分散基地避险


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84S4GM4X6STACUKG
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw