• No results found

System integration with Web Services and XML

N/A
N/A
Protected

Academic year: 2021

Share "System integration with Web Services and XML"

Copied!
37
0
0

Loading.... (view fulltext now)

Full text

(1)

System integration with

Web Services and XML

Peter Norrhall

Callista Enterprise AB

[email protected]

(2)

System integration with

Web Services and XML

? Target audience

? Developers, architects and IT-managers

? Objectives

? Experiences from a real world project

? Non-Objectives

(3)

To learn more

? Gå inte in i väggen, när du

kan använda dörren

? Peter Norrhall

? O’Reilly, 2003

? ISBN 1111-2222-3333

? We accept all major credit

cards

(4)

Agenda

? Papyrus e-services

? Technical issues

? Business issues

? Summary

(5)

Papyrus UK Papyrus Norway Papyrus Sweden Papyrus Denmark Papyrus Finland Papyrus Belgium Papyrus Latvia Papyrus Hungary Papyrus Lithuania

120 million EUR in annual

sales (15% e-share)

?E-business vision

? Customer’s preferred choice

? All routine communication fulfilled

through internet

? Industry market leader

? Leading the development of new

e-services

(6)

2000

3000

4000

5000

6000

7000

8000

9000

10000

Key European markets, KTON

with e-business

traditionell

(7)

Papyrus e-business history

Supplier

Papyrus

Customer

1975 First Integration

Replaced by EDI

1985 Partner 1.0,

online system

1989 EDI solutions

1997 Partner 2.0,

internet based

(8)

System Integration

EDI

Supplier

Papyrus

Customer

ORDRSP

DESADV

INVOIC

PRICAT

INVOIC

ORDERS

ORDERS

Bank

CREEXT

(9)

System Integration

XML

Supplier

Papyrus

Customer

Order

Product Catalogue

Price/Inventory

Order Response

Invoice

Invoice

(10)

papiNet.org

? XML DTD and Schema (Order, Invoice, RFP, etc), Case

Studies, Business Flow

(11)

papiNet Messenger papiNet Messenger papiNet Messenger CSS

papiNet

Supplier

Customer

HTTP

papiNet Messenger

papiNet Messenger papiNet Messenger

HTTP

VCOM

Stora Enso

p-service

Papyrus

Message Router

(12)

ERP/Portal Integration

using Web Services

? Technical Issues

? Interoperability

? Security

? Business Issues

? Business Rules

? Business Model

(13)

Interoperability

? Pick a ”limited” number of target ”client” platforms

? MS (SOAP Toolkit, .Net), Java (Apache Axis, Apache

SOAP, Sun WSDK, IBM WSTK, Systinet WASP,

Oracle), Delphi/Kylix, Perl, ...

? http://www.ws-i.org

? Basic Profile : XML Schema 1.0, SOAP 1.1, WSDL

1.1, UDDI 1.0

? http://www.soapbuilders.org

? http://www.w3.org/2002/ws/

(14)

WSDL

? IDL – start writing the interface

? WSDL2Java, WSDL.exe, ...

? RPC (JAX-RPC)

? Structured

? Document (JAXM)

? Unstructured

? Recommended by WS-I, MS, SOAP 1.2

? XML Schema

(15)
(16)

Data Types

? Simple (XML Schema Part 2 : Built-in Datatypes)

? Types that work

? String, boolean, int, ...

? Simple Complex Type (JavaBeans)

? Array of any valid type

? Beware of language specific types

? Floating-point, decimal and date data types

? Unsigned

? Enumeration

(17)

Encoding

? UTF-8

? Base64Encoding

? Attachment

(18)

Attachments

? Non XML documents

? Business documents (Order, Invoice, ...)

? Interoperability problem

? DIME vs MIME

? Different implementations

? Axis, SAAJ, JAXM

(19)

Example

WSDL

...

<message name="receiveCategoryInput"> <part name="pId" type="xsd:string"/>

<part name="pCompleteTree" type="xsd:boolean"/> </message>

<message name="receiveCategoryResponse"> <part name="result" type="xsd:string"/> </message>

<portType name="CatalogServicePortType">

<operation name="receiveCategory" parameterOrder="pId pCompleteTree"> <input message="tns:receiveCategoryInput"/>

(20)

Example

WSDL

...

<message name="receiveCategoryInput"> <part name="pId" type="xsd:string"/>

<part name="pCompleteTree" type="xsd:boolean"/> </message>

<message name="receiveCategoryResponse"> <part name="result" type="xsd:string"/> </message>

<portType name="CatalogServicePortType">

<operation name="receiveCategory" parameterOrder="pId pCompleteTree"> <input message="tns:receiveCategoryInput"/>

(21)

Example

WSDL

...

<message name="receiveCategoryInput"> <part name="pId" type="xsd:string"/>

<part name="pCompleteTree" type="xsd:boolean"/> </message>

<message name="receiveCategoryResponse"> <part name="result" type="xsd:string"/> </message>

<portType name="CatalogServicePortType">

<operation name="receiveCategory" parameterOrder="pId pCompleteTree"> <input message="tns:receiveCategoryInput"/>

(22)

Delphi

CatalogServicePortType = interface(IInvokable)

['{639DAB2C-6AF6-E86A-AF07-F958993627F8}']

function receiveCategory(const pId: WideString; const pCompleteTree:

boolean): WideString; stdcall;

(23)
(24)

Security

? Basic Authentication and Security

? Server and client X.509 certificates

? SSL encryption

? Userid and password sent in the message

? WS-S – endorsed by IBM, MS, Verisign, Sun, OASIS

? http://www.oasis-open.org/committees/wss/

(25)

Security

(26)

Sessions

? Do not rely on session support

? Depends on the application server and the client

? HTTP sessions/Cookies

? SOAPHeader

? sessionId in message

? Dynamic endpoints (.Net remoting)

? Performance issues

(27)

UDDI

? Not used

? JAXR

(28)

Testing

? Write, deploy, test

? Tools (OpenSource)

? Soap/Tcp Monitor

? Anteater – http://aft.sourceforge.net

(29)
(30)

Pricing

? Customer unique

? Units –

? Sheet

? Package

? Pallet

? Total quantity

? Promotions

(31)

Business Model

? Data Mapping – Agreement

? File formats

? XML (papiNet, UBL, cXML, ...)

? EDIFACT

? in-house (flat file)

? Mapping tools and/or XSLT/XPath

UBL

cXML

(32)
(33)

Architecture

Papyrus papiNet Server

papiNet Messenger Axis BizTalk Mainframe Commerce Server Connector WS Servlet Endpoint Portal Server WS Servlet Endpoint ERP WS Customer ERP Customer ERP Screen Scraping VCOM SOAP SOAP SOAP SOAP

(34)

Synchronous

Client

Web

Container

WS

Servlet

Endpoint

EJB Container

EJB

Connector

Mainframe

SQL

(35)

Asynchronous

Client

Web

Container

WS

Servlet

Endpoint

JMS

EJB Container

MDB

Connector

Mainframe

(36)

Summary

? It works

? Stay simple

? Tools is a ”must”

? IDE (JBuilder, JDeveloper, ...)

? XML editor

? Ant

? ...

(37)

References

Related documents

Interestingly we observed an enrichment of WD40 repeat domain containing proteins interacting with PRMT1 including WD repeat and FYVE domain-containing protein 3 (WDFY3), target of

We saw, in the previous chapter, that we can take the prime fields F p and construct other finite fields from them by adjoining roots of polynomials... By Lemma 6.3, all the elements

Power Supply USB powered &lt; 50mA USB Interface USB 2.0, full speed Target Interface JTAG 20-pin Serial Transfer Rate between SAM-ICE and Target Up to 12 MHz Supported Target

So, the objective of this research is to forecast tourism demand in Macedonia in terms of international tourist arrivals by introducing the ARIMA models.. In

Kentucky Rule 1.15 (d) provides Ò A lawyer may deposit funds in an account for the limited purpose of minimizing bank charges.Ó I doubt if this provision was imple- mented with

The positive linkage between FDI and growth does not change if we add the interactive term of changes in FDI inflows and the regulation dummy for the 20 per cent most

Simulation models classified in the first two classes are used in our research on sport science simulations as well as in software components of the FootballAvatar project.. In the

Biodiesel from non-food sources such as sewage sludge, waste cooking oil (WCO), microalgae and animal fat wastes along with non-edible oil seeds such as