Application XML Enabling

honorableclunkΛογισμικό & κατασκευή λογ/κού

30 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

85 εμφανίσεις

Application XML Enabling

A Holistic Approach

SYSTEK

Information Technology




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
2

Era of Integration

So Many Systems, So Many Platforms!


London

IBM S/390

Japan

HP HP
-
UX

Australia

Sun Solaris

Hong Kong

Microsoft NT




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
3

Legacy applications lack access to the Internet!

London

IBM S/390

Japan

IBM AS/400

Hong Kong

Hong Kong

IBM RS6000

Singapore

Sun SPARC

Sun SPARC

Reign of the Internet




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
4

Many Systems, Many Platforms

but One Internet Enabled Interface

Towards a Unified Data Exchange Solution

London

IBM S/390

Japan

IBM AS/400

Hong Kong

Hong Kong

IBM RS6000

Singapore

Sun SPARC

Sun SPARC




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
5

XML

(E
x
tensible
M
arkup

L
anguage)


A tag
-
based textual formatting language



document mark
-
up or data structuring


Based on
SGML

(
S
tandard
G
eneralised
M
arkup
L
anguage)



became international standard ISO 8879 in 1986


Standard from

W3C

(
W
orld
W
ide
W
eb
C
onsortium)



recommendation XML version 1.0 (February 1998)


Example



<
Person
>




<
Name
>
Daniel Chan
<
/
Name
>




<
Title
>
Chief Technology Officer
<
/
Title
>




<
Company
>
Systek I.T. Ltd.
<
/
Company
>



<
/
Person
>

History




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
6

HTML, XML, and SGML are one big family!

SGML

XML

HTML

Web Pages

XML

Documents / Messages

XML

Document / Message

Definitions

simplifies

defines

Language

Meta

Language

Use of the

Language

Meta

Data

Data

Comparison of SGML and XML

www.w3.org/TR/NOTE
-
sgml
-
xml
-
971215

XHTML




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
7

ezXML Approach for the Whole Development Cycle

Design

Management

Implementation

Integration




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
8

ezXML Approach to Application XML Enabling




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
9

Generating DTD using ezXML Designer




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
10

ezXML Approach to Application XML Enabling




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
11

DTD Management using ezXML DTD Editor






©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
12

ezXML Approach to Application XML Enabling




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
13


// Get member element Payment of element Order

ElementClass_Payment
payment

=
order
.
get_Payment()
;

// Get member element CreditCard of element Payment

ElementClass_CreditCard
creditCard

=
payment
.
get_CreditCard()
;






// Get element attribute CardType of element


CreditCard and display its value

System.out.println("Card Type: " +

creditCard
.getAttr_CardType()
);

Convenience from using ezXML Java API Generator

A String of “
Visa
”, “
Master
”,


or “
AmericanExpress


Attribute Value




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
14

ezXML Approach to Application XML Enabling




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
15

Extracting Data from Files using ezXML Text Gateway


MAKE
%GOODS_INFO

{


GOODS_INFO

[


NAME

[
$name
],


QUANTITY

[
$quantity
]


]

}

MATCH {


#ROW(+1)


#COL(0)



~

Product Name:
’ (
100b
)?



#EVAL(
$name
,
50x
)



#ROW(+1)



#COL(0)



~

Quantity:
’ (
100b
)?



#EVAL(
$quantity
,
20n
)

}


IGNORE
%BETWEEN_RECORD

MATCH {



#REJECT(
~

Customer ID
’)



#ROW(+1)



#COL(0)

}

A rule named
GOODS_INFO

XML message construction

Pattern in the text file to be matched

A sub
-
pattern to be matched

Data to be extracted

from a matched pattern

A rule with no output

Efficient skipping driven

by matched pattern




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
16

ezXML Approach to Application XML Enabling




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
17

<ezXML_RULE name="
test9_program
">


<MATCH_TEMPLATE mapping
-
name='
HOUSE_TABLE
' name='
HouseTable
' type='
DUMMY
'>


<MATCH_TEMPLATE name='
HouseRecord
' type='
DUMMY
‘>


<MATCH_TEMPLATE name='
HouseID
' type='
DUMMY
'>


<MATCH_TEMPLATE name='
houseID1
' from='
#PCDATA
' type='
VARIABLE
'/>


</MATCH_TEMPLATE>



<MATCH_TEMPLATE name='
HouseName
' type='
DUMMY
'>



<MATCH_TEMPLATE name='
houseName
' from='
#PCDATA
' type='
VARIABLE
'/>


</MATCH_TEMPLATE>


</MATCH_TEMPLATE>


</MATCH_TEMPLATE>



<MAKE_TEMPLATE mapping
-
name='
RESULT
' name='
Group
' type='
DUMMY
' multiple='
TRUE
'>


<MAKE_TEMPLATE name='
GroupName
' type='
DUMMY
' multiple='
FALSE
'>


<MAKE_TEMPLATE name='
groupName
' type='
VARIABLE
' multiple='
FALSE
'/>


</MAKE_TEMPLATE>


<MAKE_TEMPLATE name='
Staff
' type='
DUMMY
' multiple='
TRUE
'>



<MAKE_TEMPLATE name='
StaffName
' type='
DUMMY
' multiple='
FALSE
'>



<MAKE_TEMPLATE name='
staffID2
' associate='
staffID1
' type='
VARIABLE
'


multiple='
FALSE
' hidden='
FALSE
'/>



<MAKE_TEMPLATE name='
staffName
' type='
VARIABLE
' multiple='
TRUE
'/>



</MAKE_TEMPLATE>



<MAKE_TEMPLATE name='
HouseName
' type='
DUMMY
' multiple='
TRUE
'>


<MAKE_TEMPLATE name='
houseID2
' associate='
houseID1
' type='
VARIABLE
'


multiple='
FALSE
' hidden='
FALSE
'/>


<MAKE_TEMPLATE name='
houseName
' type='
VARIABLE
' multiple='
TRUE
'/>


</MAKE_TEMPLATE>


</MAKE_TEMPLATE>


</MAKE_TEMPLATE>

</ezXML_RULE>

Translating XML Data using ezXML Translation Engine

A hierarchy of

templates reflecting

the structure of the

input message

A hierarchy of

templates to

construct the

output message

Variable to hold matched data

Element to be matched




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
18

Performance & Complexity

Testing Environment


Celeron 400MHz with 128MB RAM


Windows NT Workstation 4.0 (SP5) with JDK1.3.0


JAXP 1.1
-

from Sun Microsystems Inc.


XML4J 3.1.1
-

from IBM Corp.


Input XML message is a SWIFT message in XML format of size 2763 bytes




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
19

Conclusions

A holistic approach that addresses the need of the whole development cycle


XML design becomes a part of application design right at the beginning


With ezXML Designer, designs can be formulated using only UML concepts


Just like data, designs need to be managed


With ezXML DTD Editor, designs can be changed as well as stored in and retrieved
from either a file system or a database system


DOM and SAX approaches to XML application development is too low level


Significant productivity gain can be obtained using a higher level interface to XML


With ezXML Java API Generator, high level API can be generated for use by Java
applications




©2000
-
2001
SYSTEK

Information Technology Limited. All rights Reserved.

Page
20

www.systekit.com/ezxml/

More information …