Upload
joan-leonard
View
232
Download
1
Embed Size (px)
Citation preview
A Developer’s Guide tothe Software AG Product Universe
Natural is the Hub
Rainer [email protected]
Natural Product Marketing Manager Software AG Corporate Headquarters Darmstadt / Germany
Version 29.10.2001
2
Contents
Accessing data base management systems
Accessing Tamino XML Server DBMS versus XML Server
Complementing Tamino XML Server
Collaborating with other applications through XML
Java?
Interacting with end-users through XML and XSL
Bringing existing applications to the Web
3
Accessing Data Base Management Systems
Natural• FIND … WITH … • SELECT … FROM … WHERE ...
Natural• FIND … WITH … • SELECT … FROM … WHERE ...
AdabasTamino
XML
Informix
Sybase
MS SQLServerOracle
VSAM
DL/I
DB/2
4
Accessing Data Base Management Systems
NaturalMF
NaturalMF
Entire Accessfor TCP/IPClient OS
Entire Accessfor TCP/IPClient OS
Entire Accessfor TCP/IPServer OS
Entire Accessfor TCP/IPServer OS
RDBMSOS
AdabasOS/MF
VSAMMF
DL/IMF
DB/2MF
DBMSInterfaces
DBMSInterfaces
NaturalOS
NaturalOS
AdabasOS/MF
AdabasInterfaceAdabas
Interface
5
Accessing Data Base Management Systems
Entire Accessfor TCP/IP
Client
Entire Accessfor TCP/IP
Client
Entire Accessfor TCP/IP
Server
Entire Accessfor TCP/IP
Server
ODBC
MS SQLServer
SybaseOracle
OpenIngres
Informix
DB2
AdabasD
6
Accessing Tamino XML Server
Natural 5+Natural 5+
TaminoXML Server
TaminoXML Server
Find etc.*Find etc.*RequestDocumentRequest
DocumentNaturalXNaturalX
HTTP
* Planned for 2002
DCOMDCOM
XMLDOMXMLDOM
Tamino DOMTamino DOM
7
DBMS versus XML Server
DBMS• Flat tables • Multi-dimensional tables
XML Server• Hierarchical documents
HTML XML
XSL
<URL>
HTML
<URL>
Application• DML
HTTPURL
8
Example XML Document
<Customer><Name>Turner</Name><Order>
<Date>March 22, 2001</Date><Detail>
<Quantity> 13 </Quantity><Number> 496151921237 </Number><Description> Umbrella </Description><Color> summer-beige </Color>
</Detail><Detail> ... </Detail>
</Order><Order> ... </Order>
</Customer><Customer> ... </Customer>
9
Accessing Tamino XML Server
Request DocumentFrom <URL, addressing any resource in the Web>[With <Variable containing data, to be sent to the resource>]
Return <Variable for data, to be received from the resource>…
URL including XPath query expression
http://…/Tamino/…/Customer [./// Quantity=… and Color=…]
10
FIND Customer WITHQuantity > ... AND Color = …...Date := ……UPDATE
END-FIND
<!ELEMENT Customer (Name, Order+)><!ELEMENT Name (#PCDATA)><!ELEMENT Order (Date, Detail+)><!ELEMENT Date (#PCDATA)><!ELEMENT Detail (Quantity, Number, Description, Color)><!ELEMENT Quantity (#PCDATA)>…
Accessing Tamino XML Server
Planned for 2002
11
Complementing Tamino XML Server
<Customer><Name><Order>*
<Date><Detail>+
<Quantity><Number><Description><Color>
</Detail></Order>
</Customer>
TaminoX-NodeTaminoX-Node
NaturalNatural
TaminoServer Extension
TaminoServer Extension
TaminoXML Server
TaminoXML Server
AdabasAdabasAdabasAdabas
NaturalJava, C/C++
NaturalJava, C/C++
NaturalXDCOM
NaturalXDCOM
12
Collaborating with Applications through XML
Web ServiceBroker
Web ServiceProviderUse Service based on
Service Description
SOAP
Publish Service DescriptionUDDI WSDL
Discover ServiceUDDI
Web ServiceRequester
Get Service Description
UDDI WSDL
Client Server
"Yellow pages"
13
Natural XMLWrapper
Natural XMLWrapper
Collaborating with Applications through XML
NaturalNaturalEntireXBrokerEntireXBroker
XMLAdapter
XMLAdapter
XMLWrapper
XMLWrapper
RPC
Development
HTTPServerHTTPServer XML
WSDLWSDL
Runtime
14
Natural XML WrapperNatural XML Wrapper
Collaborating with Applications through XML
<Calculation><Opcode>+</Opcode><Operand1>33</Operand1><Operand2>44</Operand2>
</Calculation>
<Calculation><Result>77</Result>
</Calculation>
NaturalNaturalEntireXBrokerEntireXBroker
XMLAdapter
XMLAdapter Calculation (
Opcode,Operand1,Operand2,Result
)
Request
Result
Service
15
Java?
Vendor-independent? Java is owned by Sun Microsystems
Run everywhere? Java applications tend to bring their own VM
Thin clients? The required Swing Classes are large
Productivity and maintainability? DBMS Access and transaction control difficult Java is not a business-oriented language
16
Java?
Data base access? Java has not an integrated data manipulation language Java can not access most non-RDBMSs
Ready for large business applications? 30 % of all Java developers have appropriate skills 70 % of all Java projects fail
Gartner at ITexpo 2000
Skills Educating “procedural” developers is very expensive Java developers command high salaries Experienced Java developers are hard to find
17
Interacting with End-Users through XML
Input Map Input Map
Open Dialog Open Dialog
Perform W3… Perform W3…
Terminal Terminal
Windows Client Windows Client
Web Browser Web Browser
SerializePerform W3Text
SerializePerform W3Text
Web BrowserXSL Processor Web Browser
XSL Processor
3270
HTML
XML XSL
Dialog
Where we are
18
Natural ServerNatural Server
Web ServerWeb ServerWeb BrowserWeb Browser
Interacting with End-Users through XML
XSLPresentation
code
NaturalApplication
code
XMLData to bepresented
XSL ProcessorXSL Processor
HTTP ServerHTTP Server
Web InterfaceWeb Interface
Server Ext’ionServer Ext’ion
HTML XML
XML
XSL
19
Interacting with End-Users through XML<?xml version="1.0"?><?xml-stylesheet type='...' href='...' ?> <CATALOG>
<CD><TITLE>Empire Burlesque</TITLE><ARTIST>Bob Dylan</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Columbia</COMPANY><PRICE>10.90</PRICE><YEAR>1985</YEAR>
</CD> <CD>
<TITLE>Hide your heart</TITLE><ARTIST>Bonnie Tyler</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>CBS Records</COMPANY><PRICE>9.90</PRICE><YEAR>1988</YEAR>
</CD>…
</CATALOG>
20
Interacting with End-Users through XML
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"><xsl:template match="/">
<html><body>
<table border="2" bgcolor="yellow"><tr>
<th>Title</th><th>Artist</th>
</tr><xsl:for-each select="CATALOG/CD">
<tr><td><xsl:value-of select="TITLE"/></td><td><xsl:value-of select="ARTIST"/></td>
</tr></xsl:for-each>
</table></body></html>
</xsl:template></xsl:stylesheet>
21
Interacting with End-Users through XML
22
Interacting with End-Users through XML
Input Map Input Map
Open Dialog Open Dialog
Perform W3… Perform W3…
Web BrowserXSL Processor Web Browser
XSL Processor Web BrowserWeb Browser Web Browser Web Browser
SerializePresent SerializePresent
Web BrowserXSL Processor Web Browser
XSL Processor
XML HTML XML XSLWeb FormXSL
What we are investigating
23
Bringing existing Applications to the Web
Screen BuilderServer
Screen BuilderServer
Screen BuilderSDK
Screen BuilderSDK
• Map HTML • Input Map … Reinput Repeat Callnat NEE• Callnat NEE XML• NEE HTTP Extension: HTML+XML HTML
• Map HTML • Input Map … Reinput Repeat Callnat NEE• Callnat NEE XML• NEE HTTP Extension: HTML+XML HTML
NaturalInput Map
NaturalInput Map
Screen BuilderWeb Viewer *
Screen BuilderWeb Viewer *
Natural EngineerNatural Engineer
Web browserWeb browserWeb browser
* ActiveX Ctrl orJava Applet
24
NaturalNatural
CICS WebSupport
CICS WebSupport
Bringing existing Applications to the Web
CICS 3270Bridge
CICS 3270Bridge
Map
ApplicationLogic
ApplicationLogic
UserInterface
UserInterface
EntireXEntireX
EntireXCICS 3270
Bridge
EntireXCICS 3270
Bridge
CICS 3270Bridge
CICS 3270Bridge
Map
RPC
Webbrowser
Webbrowser
25
The Overall PictureWeb
browserWeb
browser
Process• XML Process• XML
TaminoXML Server
TaminoXML Server
WebserverWeb
server
Present• HTML• XML+XSL
Present• HTML• XML+XSL
Access• HTTP• Find
Access• HTTP• Find
Collaborate• Consume • Expose
Collaborate• Consume • Expose
Natural 5+
26
Natural XMLWrapper
Natural XMLWrapper
The Overall Picture
XMLToolkitXML
Toolkit
TaminoServer X-T
TaminoServer X-T
EntireXBrokerEntireXBroker
WebInterface
WebInterface
AdabasAdabasTaminoXML Server
TaminoXML Server (R)DBMS(R)DBMS
XMLAdapter
XMLAdapter
WebserverWeb
server
WebserverWeb
server
Webbrowser
Webbrowser
FindFind
RequestDocumentRequest
Document
RequestDocumentRequest
Document
Natural 5+ HTTP
XSLSheetXSL
Sheet
XML
XML
Naturalcode
Naturalcode
NaturalXDCOM
NaturalXDCOM
XML
XMLDOM HTTP
XML HTML
27
Summary
28