153
Page 1 of 153 SAP PI 7.3 Training Material

SAP PI 7.3 Training Material

Embed Size (px)

Citation preview

Page 1: SAP PI 7.3 Training Material

Page 1 of 153

SAP PI 7.3 Training Material

Page 2: SAP PI 7.3 Training Material

Page 2 of 153

Why do we need XML parser? We need XML parser because we do not want to do everything in our application from scratch, and

we need some "helper" programs or libraries to do something very low-level but very necessary to

us. These low-level but necessary things include checking the well-formedness, validating the

document against its DTD or schema (just for validating parsers), resolving character reference,

understanding CDATA sections, and so on. XML parsers are just such "helper" programs and they

will do all these jobsl. With XML parsers, we are shielded from a lot of these complexicities and we

could concentrate ourselves on just programming at high-level through the API's implemented by

the parsers, and thus gain programming efficiency.

What is the difference between a DOMParser and a SAXParser? DOM parsers and SAX parsers work in different ways.

* A DOM parser creates a tree structure in memory from the input document and then waits

for requests from client. But a SAX parser does not create any internal structure. Instead, it takes

the occurrences of components of a input document as events, and tells the client what it reads as

it reads through the input document.

* A DOM parser always serves the client application with the entire document no matter how

much is actually needed by the client. But a SAX parser serves the client application always only

with pieces of the document at any given time.

With DOM parser, method calls in client application have to be explicit and forms a kind of chain.

The DOM interface is perhaps the easiest to understand. It parses an entire XML document and

constructs a complete in-memory representation of the document using the classes modeling the

concepts found in the Document Object Model(DOM) Level 2 Core Specification.

The DOM parser is called a DocumentBuilder, as it builds an in-memory Document representation.

The javax.xml.parsers.DocumentBuilder is created by the

javax.xml.parsers.DocumentBuilderFactory. The DocumentBuilder creates an

org.w3c.dom.Document instance, which is a tree structure containing nodes in the XML Document.

Each tree node in the structure implements the org.w3c.dom.Node interface. There are many

different types of tree nodes, representing the type of data found in an XML document. The most

important node types are:

* element nodes that may have attributes

* text nodes representing the text found between the start and end tags of a document element.

Page 3: SAP PI 7.3 Training Material

Page 3 of 153

SAX interface

The SAX parser is called the SAXParser and is created by the

javax.xml.parsers.SAXParserFactory. Unlike the DOM parser, the SAX parser does not create an

in-memory representation of the XML document and so is faster and uses less memory. Instead,

the SAX parser informs clients of the XML document structure by invoking callbacks, that is, by

invoking methods on a org.xml.sax.helpers.DefaultHandler instance provided to the parser. This

way of accessing document is called Streaming XML.

The DefaultHandler class implements the ContentHandler, the ErrorHandler, the DTDHandler, and

the EntityResolver interfaces. Most clients will be interested in methods defined in the

ContentHandler interface that are called when the SAX parser encounters the corresponding

elements in the XML document. The most important methods in this interface are:

* startDocument() and endDocument() methods that are called at the start and end of a XML

document.

* startElement() and endElement() methods that are called at the start and end of an document

element.

* characters() method that is called with the text data contents contained between the start and

end tags of an XML document element.

Clients provide a subclass of the DefaultHandler that overrides these methods and processes the

data. This may involve storing the data into a database or writing it out to a stream.

During parsing, the parser may need to access external documents. It is possible to store a local

cache for frequently-used documents using an XML Catalog.

This was introduced with Java 1.3 in May 2000.

With SAX, some certain methods (usually over ridden by the client) will be invoked automatically

(implicitly) in a way which is called "callback" when some certain events occur. These methods do

not have to be called explicitly by the client, though we could call them explicitly.

Given the following XML document:

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

<RootElement param="value">

<FirstElement>

Page 4: SAP PI 7.3 Training Material

Page 4 of 153

Some Text

</FirstElement>

<?some_pi some_attr="some_value"?>

<SecondElement param2="something">

Pre-Text <Inline>Inlined text</Inline> Post-text.

</SecondElement>

</RootElement>

This XML document, when passed through a SAX parser, will generate a sequence of events like

the following:

* XML Element start, named RootElement, with an attribute param equal to "value"

* XML Element start, named FirstElement

* XML Text node, with data equal to "Some Text" (note: text processing, with regard to spaces,

can be changed)

* XML Element end, named FirstElement

* Processing Instruction event, with the target some_pi and data some_attr="some_value"

* XML Element start, named SecondElement, with an attribute param2 equal to "something"

* XML Text node, with data equal to "Pre-Text"

* XML Element start, named Inline

* XML Text node, with data equal to "Inlined text"

* XML Element end, named Inline

* XML Text node, with data equal to "Post-text."

* XML Element end, named SecondElement

* XML Element end, named RootElement

Note that the first line of the sample above is the XML Declaration and not a processing instruction;

as such it will not be reported as a processing instruction event.

The result above may vary: the SAX specification deliberately states that a given section of text

may be reported as multiple sequential text events. Thus in the example above, a SAX parser may

generate a different series of events, part of which might include:

* XML Element start, named FirstElement

* XML Text node, with data equal to "Some "

* XML Text node, with data equal to "Text"

* XML Element end, named FirstElement

Page 5: SAP PI 7.3 Training Material

Page 5 of 153

What's the difference between tree-based API and event-based API?

A tree-based API is centered around a tree structure and therefore provides interfaces on

components of a tree (which is a DOM document) such as Document interface,Node interface,

NodeList interface, Element interface, Attr interface and so on. By contrast, however, an event-

based API provides interfaces on handlers. There are four handler interfaces, ContentHandler

interface, DTDHandler interface, EntityResolver interface and ErrorHandler interface.

The main interface involved in SAX is a ContentHandler. You write your own class that implments

this interface. You supply methods to respond to events. One method is called when the document

starts, another when the document ends. One is called when an element starts, one when it ends.

Between these two there may be calls to a "characters" method if there are text character specified

between the start end end tags. If elements are nested, you may get two starts then two ends.

The entire procesing is up to you. The sequence follows the input source. If you don't care about a

specific element when it is processed, do nothing.

When the document end method is called, SAX is finished. Whatever you have kept in whatever

format is all that is kept.

This is in contrast to DOM which reads the entire input and constructs a tree of elements. Then the

tree represents entire source. You can move elements or attributes around to make a different file,

you can run it through a transformer. You can search it using XPath to find sequences of elements

or structures in the document and process them as you wish. When you are done, you can serialize

it (to produce an XML file, or an xml-format stream.

So, SAX is a Simple API for XML as its name implies. It does not have large demands for memory.

You can process a huge file and if you don't want to keep much data, or you are summing data

from the elements that go by, you will not require much memory. DOM builds a tree of Nodes to

represent the entire file. It takes more space to hold an element than it takes for the minimal

character representation -- "<a/>" 4 characters vs. dozens or hundreds.

Both will process the same input, and with SAX, you will see all input as it goes by. You may keep

what you want in whatever format you want. But, if you don't keep it, it is not stored somewhere for

you to process unless you run the input source through SAX again.

Page 6: SAP PI 7.3 Training Material

Page 6 of 153

Which one is better, SAX or DOM ?

Both SAX and DOM parser have their advantages and disadvantages. Which one is better should

depends on the characteristics of your application (please refer to some questions below).

Which parser can get better speed, DOM or SAX parsers?

SAX parser can get better speed.

In what cases, we prefer DOMParser to SAXParser?

In what cases, we prefer SAXParser to DOMParser?

What are some real world applications where using SAX parser is advantageous than using

DOM parser and vice versa?

What are the usual application for a DOM parser and for a SAX parser?

In the following cases, using SAX parser is advantageous than using DOM parser.

* The input document is too big for available memory (actually in this case SAX is your only

choice)

* You can process the document in small contiguous chunks of input. You do not need the

entire document before you can do useful work

* You just want to use the parser to extract the information of interest, and all your

computation will be completely based on the data structures created by yourself. Actually in most of

our applications, we create data structures of our own which are usually not as complicated as the

DOM tree. From this sense, I think, the chance of using a DOM parser is less than that of using a

SAX parser.

In the following cases, using DOM parser is advantageous than using SAX parser.

* Your application needs to access widely separately parts of the document at the same time.

* Your application may probably use a internal data structure which is almost as complicated

as the document itself.

* Your application has to modify the document repeatedly.

* Your application has to store the document for a significant amount of time through many

method calls.

Example (Use a DOM parser or a SAX parser?):

Assume that an instructor has an XML document containing all the personal information of the

students as well as the points his students made in his class, and he is now assigning final grades

Page 7: SAP PI 7.3 Training Material

Page 7 of 153

for the students using an application. What he wants to produce, is a list with the SSN and the

grades. Also we assume that in his application, the instructor use no data structure such as arrays

to store the student personal information and the points.

If the instructor decides to give A's to those who earned the class average or above, and give

B's to the others, then he'd better to use a DOM parser in his application. The reason is that he has

no way to know how much is the class average before the entire document gets processed. What

he probably need to do in his application, is first to look through all the students' points and

compute the average, and then look through the document again and assign the final grade to each

student by comparing the points he earned to the class average.

If, however, the instructor adopts such a grading policy that the students who got 90 points or

more, are assigned A's and the others are assigned B's, then probably he'd better use a SAX

parser. The reason is, to assign each student a final grade, he do not need to wait for the entire

document to be processed. He could immediately assign a grade to a student once the SAX parser

reads the grade of this student.

In the above analysis, we assumed that the instructor created no data structure of his own.

What if he creates his own data structure, such as an array of strings to store the SSN and an array

of integers to sto re the points ? In this case, I think SAX is a better choice, before this could save

both memory and time as well, yet get the job done.

Well, one more consideration on this example. What if what the instructor wants to do is not to

print a list, but to save the original document back with the grade of each student updated ? In this

case, a DOM parser should be a better choice no matter what grading policy he is adopting. He

does not need to create any data structure of his own. What he needs to do is to first modify the

DOM tree (i.e., set value to the 'grade' node) and then save the whole modified tree. If he choose to

use a SAX parser instead of a DOM parser, then in this case he has to create a data structure

which is almost as complicated as a DOM tree before he could get the job done.

How does the eventbased parser notice that there is an event happening, since these events

are not like click button or move the mouse?

Clicking a button or moving the mouse could be thought of as events, but events could be

thought of in a more general way. For example, in a switch statement of C, if the switched variable

gets some value, some 'case' will be taken and get executed. At this time, we may also say, one

event has occurred. A SAX parser reads the document character by character or token by token.

Page 8: SAP PI 7.3 Training Material

Page 8 of 153

Once some patterns (such as the start tag or end tag) are met, it thinks of the occurrences of these

patterns as events and invokes some certain methods overriden by the client.

To summarize all, lets discuss difference between both approach.

SAX Parser:

Event based model.

Serial access (flow of events).

Low memory usage (only events are generated).

To process parts of the document (catching relevant events).

To process the document only once.

Backward navigation is not possible as it sequentially processes the document.

Objects are to be created.

DOM Parser:

(Object based)Tree data structure.

Random access (in-memory data structure).

High memory usage (the document is loaded into memory).

To edit the document (processing the in-memory data structure).

To process multiple times (document loaded in memory).

Ease of navigation.

Stored as objects.

Page 9: SAP PI 7.3 Training Material

Page 9 of 153

Sample document for the example

<?xml version="1.0"?>

<!DOCTYPE shapes [

<!ELEMENT shapes (circle)*>

<!ELEMENT circle (x,y,radius)>

<!ELEMENT x (#PCDATA)>

<!ELEMENT y (#PCDATA)>

<!ELEMENT radius (#PCDATA)>

<!ATTLIST circle color CDATA #IMPLIED>

]>

<shapes>

<circle color="BLUE">

<x>20</x>

<y>20</y>

<radius>20</radius>

</circle>

<circle color="RED" >

<x>40</x>

<y>40</y>

<radius>20</radius>

</circle>

</shapes>

Page 10: SAP PI 7.3 Training Material

Page 10 of 153

Programs for the Example

program with DOMparser

import java.io.*;

import org.w3c.dom.*;

import org.apache.xerces.parsers.DOMParser;

public class shapes_DOM {

static int numberOfCircles = 0; // total number of circles seen

static int x[] = new int[1000]; // X-coordinates of the centers

static int y[] = new int[1000]; // Y-coordinates of the centers

static int r[] = new int[1000]; // radius of the circle

static String color[] = new String[1000]; // colors of the circles

public static void main(String[] args) {

try{

// create a DOMParser

DOMParser parser=new DOMParser();

parser.parse(args[0]);

// get the DOM Document object

Document doc=parser.getDocument();

// get all the circle nodes

NodeList nodelist = doc.getElementsByTagName("circle");

numberOfCircles = nodelist.getLength();

// retrieve all info about the circles

for(int i=0; i<nodelist.getLength(); i++) {

// get one circle node

Node node = nodelist.item(i);

// get the color attribute

NamedNodeMap attrs = node.getAttributes();

if(attrs.getLength() > 0)

Page 11: SAP PI 7.3 Training Material

Page 11 of 153

color[i]=(String)attrs.getNamedItem("color").getNodeValue();

// get the child nodes of a circle node

NodeList childnodelist = node.getChildNodes();

// get the x and y value

for(int j=0; j<childnodelist.getLength(); j++) {

Node childnode = childnodelist.item(j);

Node textnode = childnode.getFirstChild();//the only text node

String childnodename=childnode.getNodeName();

if(childnodename.equals("x"))

x[i]= Integer.parseInt(textnode.getNodeValue().trim());

else if(childnodename.equals("y"))

y[i]= Integer.parseInt(textnode.getNodeValue().trim());

else if(childnodename.equals("radius"))

r[i]= Integer.parseInt(textnode.getNodeValue().trim());

}

}

// print the result

System.out.println("circles="+numberOfCircles);

for(int i=0;i<numberOfCircles;i++) {

String line="";

line=line+"(x="+x[i]+",y="+y[i]+",r="+r[i]+",color="+color[i]+")";

System.out.println(line);

}

} catch (Exception e) {e.printStackTrace(System.err);}

}

}

Page 12: SAP PI 7.3 Training Material

Page 12 of 153

program with SAXparser

import java.io.*;

import org.xml.sax.*;

import org.xml.sax.helpers.DefaultHandler;

import org.apache.xerces.parsers.SAXParser;

public class shapes_SAX extends DefaultHandler {

static int numberOfCircles = 0; // total number of circles seen

static int x[] = new int[1000]; // X-coordinates of the centers

static int y[] = new int[1000]; // Y-coordinates of the centers

static int r[] = new int[1000]; // radius of the circle

static String color[] = new String[1000]; // colors of the circles

static int flagX=0; //to remember what element has occurred

static int flagY=0; //to remember what element has occurred

static int flagR=0; //to remember what element has occurred

// main method

public static void main(String[] args) {

try{

shapes_SAX SAXHandler = new shapes_SAX (); // an instance of this class

SAXParser parser=new SAXParser(); // create a SAXParser object

parser.setContentHandler(SAXHandler); // register with the ContentHandler

parser.parse(args[0]);

} catch (Exception e) {e.printStackTrace(System.err);} // catch exeptions

}

// override the startElement() method

public void startElement(String uri, String localName,

String rawName, Attributes attributes) {

if(rawName.equals("circle")) // if a circle element is seen

color[numberOfCircles]=attributes.getValue("color"); // get the color attribute

else if(rawName.equals("x")) // if a x element is seen set the flag as 1

flagX=1;

Page 13: SAP PI 7.3 Training Material

Page 13 of 153

else if(rawName.equals("y")) // if a y element is seen set the flag as 2

flagY=1;

else if(rawName.equals("radius")) // if a radius element is seen set the flag as 3

flagR=1;

}

// override the endElement() method

public void endElement(String uri, String localName, String rawName) {

// in this example we do not need to do anything else here

if(rawName.equals("circle")) // if a circle element is ended

numberOfCircles += 1; // increment the counter

}

// override the characters() method

public void characters(char characters[], int start, int length) {

String characterData =

(new String(characters,start,length)).trim(); // get the text

if(flagX==1) { // indicate this text is for <x> element

x[numberOfCircles] = Integer.parseInt(characterData);

flagX=0;

}

else if(flagY==1) { // indicate this text is for <y> element

y[numberOfCircles] = Integer.parseInt(characterData);

flagY=0;

}

else if(flagR==1) { // indicate this text is for <radius> element

r[numberOfCircles] = Integer.parseInt(characterData);

flagR=0;

}

}

// override the endDocument() method

public void endDocument() {

// when the end of document is seen, just print the circle info

System.out.println("circles="+numberOfCircles);

for(int i=0;i<numberOfCircles;i++) {

String line="";

Page 14: SAP PI 7.3 Training Material

Page 14 of 153

line=line+"(x="+x[i]+",y="+y[i]+",r="+r[i]+",color="+color[i]+")";

System.out.println(line);

}

}

}

Page 15: SAP PI 7.3 Training Material

Page 15 of 153

DOM versus SAX parsing:

Practical differences are the following

1. DOM APIs map the XML document into an internal tree structure and allows you to refer to the

nodes and the elements in any way you want and as many times as you want. This usually means

less programming and planning ahead but also means bad performance in terms of memory or

CPU cycles.

2. SAX APIs on the other hand are event based ie they traverse the XML document and allows

you to trap the events as it passes through the document. You can trap start of the document, start

of an element and the start of any characters within an element. This usually means more

programming and planning on your part but is compensated by the fact that it will take less memory

and less CPU cycles.

3. DOM performance may not be an issue if it used in a batch environment because the

performance impact will be felt once and may be negligible compared to the rest of the batch

process.

4. DOM performance may become an issue in an on line transaction processing environment

because the performance impact will be felt for each and every transaction. It may not be negligible

compared to the rest of the on line processing, since by nature they are short living process.

5. Elapsed time difference in DOM vs SAX

Page 16: SAP PI 7.3 Training Material

Page 16 of 153

A XML document 13kb long with 2354 elements or tags. This message represents an

accounting G/L entries sent from one Banking system to another.

Windows 2000 running in Pentium

SAX version - 1 sec

DOM version - 4 secs

IBM mainframe under CICS 1.3

SAX version- 2 secs

DOM version 10 secs

IBM mainframe under CICS 2.2

SAX version- 1 sec

DOM version 2 secs

The significant reduction in under CICS2.2 is due to the fact that the JVM is reusable and it uses

jdk1.3 vs jdk1.1

Page 17: SAP PI 7.3 Training Material

Page 17 of 153

Introduction EAI Tools

Introduction to SAP Net Weaver 7.1 Modules of SAP Net Weaver 7.1 Overview SAP Process Integration 7.1 Architecture of SAP PI 7.1

Page 18: SAP PI 7.3 Training Material

Page 18 of 153

Page 19: SAP PI 7.3 Training Material

Page 19 of 153

Page 20: SAP PI 7.3 Training Material

Page 20 of 153

Page 21: SAP PI 7.3 Training Material

Page 21 of 153

Page 22: SAP PI 7.3 Training Material

Page 22 of 153

Page 23: SAP PI 7.3 Training Material

Page 23 of 153

Page 24: SAP PI 7.3 Training Material

Page 24 of 153

Page 25: SAP PI 7.3 Training Material

Page 25 of 153

Page 26: SAP PI 7.3 Training Material

Page 26 of 153

Page 27: SAP PI 7.3 Training Material

Page 27 of 153

Page 28: SAP PI 7.3 Training Material

Page 28 of 153

Page 29: SAP PI 7.3 Training Material

Page 29 of 153

System Landscape Directory Software Catalog Product and Product Versions Software Unit Software Component and its versions

System Catalog Technical Systems Business Systems

Page 30: SAP PI 7.3 Training Material

Page 30 of 153

Page 31: SAP PI 7.3 Training Material

Page 31 of 153

Page 32: SAP PI 7.3 Training Material

Page 32 of 153

Page 33: SAP PI 7.3 Training Material

Page 33 of 153

Page 34: SAP PI 7.3 Training Material

Page 34 of 153

Page 35: SAP PI 7.3 Training Material

Page 35 of 153

Page 36: SAP PI 7.3 Training Material

Page 36 of 153

Page 37: SAP PI 7.3 Training Material

Page 37 of 153

Page 38: SAP PI 7.3 Training Material

Page 38 of 153

Integration Builder: Integration Repository Importing Software Component Versions Integration Scenario & Integration Process Integration Scenario Actions Integration Process

Interface Objects Message Interface (ABAP and Java Proxies) Message Type Data Type Data Type Enhancement Context Object External Definition

Mapping Objects Message Mapping (Graphical Mapping including UDFs) ABAP Mapping JAVA Mapping Interface Mapping

Adapter Objects Adapter Metadata Communication Channel Template

Imported Objects RFCs IDOCs

Page 39: SAP PI 7.3 Training Material

Page 39 of 153

Page 40: SAP PI 7.3 Training Material

Page 40 of 153

Page 41: SAP PI 7.3 Training Material

Page 41 of 153

Page 42: SAP PI 7.3 Training Material

Page 42 of 153

Page 43: SAP PI 7.3 Training Material

Page 43 of 153

What is ESR?

The ES Repository is really the master data repository of service objects for Enterprise SOA � What do we mean by a design time repository? � This refers to the process of designing services � And the ES Repository supports the whole process around contract first or the well known outside in way of developing services � It provides you with a central modeling and design environment which provides you with all the tools and editors that enable you to go through this process of service definition � It provides you with the infrastructure to store, manage and version service metadata � Besides service definition, the ES Repository also provides you with a central point for finding and managing service metadata from different sources

Page 44: SAP PI 7.3 Training Material

Page 44 of 153

How has ESR Evolved?

What can ESR be used for?

The first version of the ES Repository for customers will be the PI based Integration Repository which is already part of SAP XI 3.0 and SAP NetWeaver 2004s � Customers can be assured that their investments in the Repository are protected because there will be an upgrade possibility from the existing repository to the Enterprise Services Repository � The ES Repository is of course enhanced with new objects that are needed for defining SAP process component modeling methodology � The ES Repository in the new release will be available with SAP NetWeaver Process Integration 7.1 and probably also with CE available in the same time frame � The ES Repository is open for customers to create their own objects and extend SAP delivered objects

Page 45: SAP PI 7.3 Training Material

Page 45 of 153

DATA Types in 3.0 / 7.0

What is a Data Type? It is the most basic element that is used in design activities – you can think of them as variables that we create in programming languages.

Page 46: SAP PI 7.3 Training Material

Page 46 of 153

What is a Message Type?

Page 47: SAP PI 7.3 Training Material

Page 47 of 153

Data Types in 7.1 have changed / evolved from 7.0 – the following sections illustrate this.

Page 48: SAP PI 7.3 Training Material

Page 48 of 153

Basic Rules of creating Data Types

Page 49: SAP PI 7.3 Training Material

Page 49 of 153

Page 50: SAP PI 7.3 Training Material

Page 50 of 153

What are Data Type Enhancements? What are they used for?

Page 51: SAP PI 7.3 Training Material

Page 51 of 153

Message Interface in 3.0 / 7.0 -> these have evolved to Service Interface in 7.1

Page 52: SAP PI 7.3 Training Material

Page 52 of 153

Page 53: SAP PI 7.3 Training Material

Page 53 of 153

Page 54: SAP PI 7.3 Training Material

Page 54 of 153

Page 55: SAP PI 7.3 Training Material

Page 55 of 153

How Service Interface in 7.1 has evolved from Message Interface in 3.0 / 7.0

Page 56: SAP PI 7.3 Training Material

Page 56 of 153

Page 57: SAP PI 7.3 Training Material

Page 57 of 153

Page 58: SAP PI 7.3 Training Material

Page 58 of 153

Page 59: SAP PI 7.3 Training Material

Page 59 of 153

Page 60: SAP PI 7.3 Training Material

Page 60 of 153

Page 61: SAP PI 7.3 Training Material

Page 61 of 153

Page 62: SAP PI 7.3 Training Material

Page 62 of 153

Interface Mapping in 3.0 / 7.0 has changed to Operations Mapping in 7.1

Why do we need Interface Mapping / Operations Mapping ?

Page 63: SAP PI 7.3 Training Material

Page 63 of 153

Page 64: SAP PI 7.3 Training Material

Page 64 of 153

What does an Integration Scenario do?

Page 65: SAP PI 7.3 Training Material

Page 65 of 153

Page 66: SAP PI 7.3 Training Material

Page 66 of 153

BPM or Integration Process

Page 67: SAP PI 7.3 Training Material

Page 67 of 153

Page 68: SAP PI 7.3 Training Material

Page 68 of 153

Page 69: SAP PI 7.3 Training Material

Page 69 of 153

Page 70: SAP PI 7.3 Training Material

Page 70 of 153

Integration Builder: Integration Directory Creating Configuration Scenario Party Service without Party Business System Communication Channels Business Service Integration Process

Receiver Determination Interface Determination Sender Agreements Receiver Agreements

Page 71: SAP PI 7.3 Training Material

Page 71 of 153

Page 72: SAP PI 7.3 Training Material

Page 72 of 153

Page 73: SAP PI 7.3 Training Material

Page 73 of 153

Page 74: SAP PI 7.3 Training Material

Page 74 of 153

Page 75: SAP PI 7.3 Training Material

Page 75 of 153

Page 76: SAP PI 7.3 Training Material

Page 76 of 153

Page 77: SAP PI 7.3 Training Material

Page 77 of 153

Adapter Communication Introduction to Adapters Need of Adapters Types and elaboration on various Adapters

1. FILE

2. SOAP

3. JDBC

4. IDOC

5. RFC

6. XI (Proxy Communication)

7. HTTP

8. Mail

9. CIDX

10. RNIF

11. BC

12. Market Place

Page 78: SAP PI 7.3 Training Material

Page 78 of 153

Page 79: SAP PI 7.3 Training Material

Page 79 of 153

Page 80: SAP PI 7.3 Training Material

Page 80 of 153

Page 81: SAP PI 7.3 Training Material

Page 81 of 153

Page 82: SAP PI 7.3 Training Material

Page 82 of 153

Page 83: SAP PI 7.3 Training Material

Page 83 of 153

Page 84: SAP PI 7.3 Training Material

Page 84 of 153

Page 85: SAP PI 7.3 Training Material

Page 85 of 153

Page 86: SAP PI 7.3 Training Material

Page 86 of 153

Page 87: SAP PI 7.3 Training Material

Page 87 of 153

RECEIVER IDOC ADAPTER

Page 88: SAP PI 7.3 Training Material

Page 88 of 153

Page 89: SAP PI 7.3 Training Material

Page 89 of 153

Page 90: SAP PI 7.3 Training Material

Page 90 of 153

Page 91: SAP PI 7.3 Training Material

Page 91 of 153

Page 92: SAP PI 7.3 Training Material

Page 92 of 153

Page 93: SAP PI 7.3 Training Material

Page 93 of 153

Page 94: SAP PI 7.3 Training Material

Page 94 of 153

Page 95: SAP PI 7.3 Training Material

Page 95 of 153

Page 96: SAP PI 7.3 Training Material

Page 96 of 153

Page 97: SAP PI 7.3 Training Material

Page 97 of 153

Page 98: SAP PI 7.3 Training Material

Page 98 of 153

Page 99: SAP PI 7.3 Training Material

Page 99 of 153

Page 100: SAP PI 7.3 Training Material

Page 100 of 153

Page 101: SAP PI 7.3 Training Material

Page 101 of 153

Page 102: SAP PI 7.3 Training Material

Page 102 of 153

Page 103: SAP PI 7.3 Training Material

Page 103 of 153

Page 104: SAP PI 7.3 Training Material

Page 104 of 153

Page 105: SAP PI 7.3 Training Material

Page 105 of 153

Page 106: SAP PI 7.3 Training Material

Page 106 of 153

Page 107: SAP PI 7.3 Training Material

Page 107 of 153

Page 108: SAP PI 7.3 Training Material

Page 108 of 153

Page 109: SAP PI 7.3 Training Material

Page 109 of 153

Page 110: SAP PI 7.3 Training Material

Page 110 of 153

Page 111: SAP PI 7.3 Training Material

Page 111 of 153

Page 112: SAP PI 7.3 Training Material

Page 112 of 153

Page 113: SAP PI 7.3 Training Material

Page 113 of 153

Page 114: SAP PI 7.3 Training Material

Page 114 of 153

Page 115: SAP PI 7.3 Training Material

Page 115 of 153

PROXIES

Page 116: SAP PI 7.3 Training Material

Page 116 of 153

Runtime Workbench Cache Overview Message Display Tool Test Tool Message Monitoring Component Monitoring End to End Monitoring

Page 117: SAP PI 7.3 Training Material

Page 117 of 153

Page 118: SAP PI 7.3 Training Material

Page 118 of 153

Page 119: SAP PI 7.3 Training Material

Page 119 of 153

Page 120: SAP PI 7.3 Training Material

Page 120 of 153

Page 121: SAP PI 7.3 Training Material

Page 121 of 153

New features in SAP PI (Process Integration) 7.1 1. Enterprise service repository 2. Service Bus 3. Service Registry 4. Web Service Publishing 5. Service Interface 6. Folders in the Integration Builder 7. Advanced Adapter Engine 8. Reusable UDFs in Function Library 9. RFC and JDBC Lookup using graphical methods 10. Importing of Database SQL Structures 11. Service Runtime for Web Services 12. Graphical Variables 13. WS Adapter and MDM Adapter 14. Integrated Configuration 15. Direct Connection Methods 16. Stepgroup and User Decision step in BPM 17. eSOA Manager Architecture

Page 122: SAP PI 7.3 Training Material

Page 122 of 153

Highlights include: � The Enterprise Services Repository containing the design time ES Repository and the UDDI Services Registry.

Page 123: SAP PI 7.3 Training Material

Page 123 of 153

� SAP NetWeaver Process Integration 7.1 includes significant performance enhancements. In particular, high-volume message processing is supported by message packaging where a bulk of messages are processed in a single service call.

� Additional functional enhancements, such as principle propagation based on open standards SAML, allows you to forward user credentials from the sender to the receiver system. � Also, XML schema validation, which allows you to validate the structure of a message payload against an XML schema. � Also, importantly support for asynchronous messaging based on the Web Services Standard Web Services Reliable Messaging (WS-RM) for both brokered communication and for point-to-point communication between two systems will be supported in this release. � Besides that, a lot of SOA enabling standards or WS standards are supported as part of this release again making it the core technology enabler of Enterprise SOA � The new SAP NetWeaver Process Integration release includes major enhancements to the BPM offering as:

� Improved performance of the runtime (Process Engine) - Message packaging, process queuing, transactional handling (logical units of work of process blocks and singular process steps - flexible hibernation)

� WS-BPEL 2.0 preview � Further enhancements: Modeling enhancements such as, e.g., step groups, BAM patterns; configurable parameters; embedded alert management (alert categories within the BPEL process definition; human interaction (generic user decision), task and workflow services for S2H scenarios (aligned with BPEL4People) � The process integration capability includes the integration server with the infrastructure services provided by the underlying application server � The process integration capability within SAP NetWeaver is really laying the foundation for SOA � Standards compliant offering enterprise class integration capabilities, guaranteed delivery and quality of service

A lot of great new functionalities are provided with SAP NetWeaver Process Integration 7.1, but all are extensions of the robust architecture based on JEE5. And JEE5 promotes less memory consumption and easier installation � The process integration capabilities within SAP NetWeaver offer the most common ESB components like � Communication infrastructure (messaging and connectivity) � Request routing and version resolution � Transformation and mapping � Service orchestration � Process and transaction management � Security � Quality of service � Services registry and metadata management � Monitoring and management � Support of Standards (WS RM, WS Security, SAML, BPEL, UDDI, etc.) � Distributed deployment and execution � Publish Subscribe (not covered today)

Page 124: SAP PI 7.3 Training Material

Page 124 of 153

� These ESB components are not packaged as a standalone product from SAP but as a set of capabilities. Customers using the process integration functionality can leverage all or parts of these capabilities. � More aspects to consider: � SAP Java EE5 engine as runtime environment, but no development tools provided � Local event infrastructure provided in SAP systems � WS Security: The main update is the support of SAML for the credential propagation. Furthermore, with WS-RM authentication via X.509 certificates as well as encryption are also supported. � WS Policy: W3C WS Policy 1.2 - Framework (WS-Policy) and Attachment (WS-PolicyAttachment) are supported. � To summarize these two slides, the main message is that the most important reasons to use the benefits of the SAP NetWeaver PI 7.1 release are: � Use Process Integration as an SOA backbone � Establish ES Repository as the central SOA repository in customer landscapes � Leverage support of additional WS standards like UDDI, WS-BPEL and tasks, WS-RM etc. � Enable high volume and mission critical integration scenarios � Benefit from new functionalities like principal propagation, XML payload validation and BAM capabilities

Page 125: SAP PI 7.3 Training Material

Page 125 of 153

PI 7.3 Delta Overview

Page 126: SAP PI 7.3 Training Material

Page 126 of 153

Page 127: SAP PI 7.3 Training Material

Page 127 of 153

Page 128: SAP PI 7.3 Training Material

Page 128 of 153

Page 129: SAP PI 7.3 Training Material

Page 129 of 153

Page 130: SAP PI 7.3 Training Material

Page 130 of 153

Page 131: SAP PI 7.3 Training Material

Page 131 of 153

Page 132: SAP PI 7.3 Training Material

Page 132 of 153

Page 133: SAP PI 7.3 Training Material

Page 133 of 153

Page 134: SAP PI 7.3 Training Material

Page 134 of 153

Page 135: SAP PI 7.3 Training Material

Page 135 of 153

Page 136: SAP PI 7.3 Training Material

Page 136 of 153

Page 137: SAP PI 7.3 Training Material

Page 137 of 153

Page 138: SAP PI 7.3 Training Material

Page 138 of 153

Page 139: SAP PI 7.3 Training Material

Page 139 of 153

Page 140: SAP PI 7.3 Training Material

Page 140 of 153

USER ACCESS AND AUTH IN 7.3

Page 141: SAP PI 7.3 Training Material

Page 141 of 153

Page 142: SAP PI 7.3 Training Material

Page 142 of 153

Page 143: SAP PI 7.3 Training Material

Page 143 of 153

Page 144: SAP PI 7.3 Training Material

Page 144 of 153

Page 145: SAP PI 7.3 Training Material

Page 145 of 153

Page 146: SAP PI 7.3 Training Material

Page 146 of 153

Page 147: SAP PI 7.3 Training Material

Page 147 of 153

Page 148: SAP PI 7.3 Training Material

Page 148 of 153

Page 149: SAP PI 7.3 Training Material

Page 149 of 153

Page 150: SAP PI 7.3 Training Material

Page 150 of 153

Page 151: SAP PI 7.3 Training Material

Page 151 of 153

Page 152: SAP PI 7.3 Training Material

Page 152 of 153

Page 153: SAP PI 7.3 Training Material

Page 153 of 153

XI Architecture – The Complete Picture