Professional Documents
Culture Documents
Java SAP
Java SAP
SAP AG
Overview
2
Architecture
3
4
Scenarios
Design
Examples
Overview
2
Architecture
3
4
Scenarios
Design
Examples
SAP Java
Connector
Java
Application
SAP System
Java
API
Function
Module
JNI Layer
libRFC
RFC
tRFC
qRFC
ALE
IDoc
RFC Layer
JAVA Application
SAP JCO Java API
Middleware Interface
RFC Middleware
JNI Layer
RFC Library
RFC
RFC
SAP System
Overview
2
Architecture
3
4
Scenarios
Design
Examples
Overview
2
Architecture
3
4
Scenarios
Design
Examples
Performance
How to avoid extensive object creation?
n Why not using a heterogeneous buffer (e.g. one dimensional
array) divided into cells, each cell holding the fields value?
n Since strings are by far the most occurring field types, a
character array would be the natural choice for a buffer.
Performance
C
byte[] type
int[] length
10
int[] offset
00
01
61
Performance
n Metadata for functions and parameters will be fetched at first
request and stored in the repository cash
n Connection pooling
Avoids expensive connect(), disconnect() calls
Attributes
PoolManager
Throughput
Connection
Pool
Client
MetaData
IMetaData
Record
ParameterList
Field
Structure
Table
FieldIterator
BasicRepository
Server
FunctionInterface
IRepository
Repository
IFunctionInterface
Function
Data stream
Segment type
E1MARAM
!
+-- E1MAKTM
!
+-- E1MAKTM
!
+-- E1MARCM
!
!
!
+-- E1MARDM
!
!
!
+-- E1MARDM
!
+-- E1MARCM
!
!
!
+-- E1MARDM
!
+-- E1MARMM
!
!
!
+-- E1MEANM
!
+-- E1MBEWM
!
+-- E1MLGNM
!
+-- E1MVKEM
!
+-- E1MLANM
!
+-- E1MTXHM
!
+-- E1MTXLM
!
+-- E1MTXLM
005P-100
19941107BALLER
19990324D020033
DE
005EPump GG IDESNORM
EN
100-200
0051000VDPALSQG
PD10110 0
M0.00 EXE
KCVDPALSQBG
0.000
FERTM001
0.000
0.000
0050001DL
0.000
0.000
0.000000
0050002DL
0.000
0.000
0.000000
0051300DBGVA
PD10110 0
0050001D
005PF 5
0.000
1
0051000
005100010 101
5.000
X
0.000
0.000
P-100
1292.7
0.000
000000000.000
7920S1292.7
0.000
0.000
PCE
0.000
100010
0.000
ICX
005CA CTX11CTX21CTX31
005MVKE
0.000
0.000000
IC0.000
S1292.7
005001
0.000
0.000
20500000000009
005PF 0000120500000000009
M0.00 EXE800.000
1292.7
E1
0.000
Overview
2
Architecture
3
4
Scenarios
Design
Examples
);
// Create a new repository
repository = JCO.createRepository("MYRepository", SID);
} catch (JCO.Exception ex) {
System.out.println("Caught an exception: \n" + ex);
}//try
}
// System ID
// Our repository
// Max. listener
// Listeners
public QuickyServer() {
JCO.addClientPool(POOL,MAX_LISTENER,"400","tarzan","jane","EN",
"iwdf5020.wdf.sap-ag.de","T20","SPACE");
repository = JCO.createRepository("QUICKY", POOL);
}
public void startThemAll() {
for (int i = 0; i < MAX_LISTENERS; i++) {
listeners[i] = new Listener("iwdf5020", "sapgw00", QUICKY", repository);
try {
listener[i].start();
} catch (Exception ex) {
System.out.println("Could not start listener !\n" + ex);
}//try
}//for
}
public static void main(String[] argv) {
QuickyServer qserver = new QuickyServer();
qserver.startThemAll();
}
SAP AG 2002, SAP JCo / 26
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express
permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other
software vendors.
Microsoft, WINDOWS, NT, EXCEL, Word, PowerPoint and SQL Server are registered trademarks of
Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390,
OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli,
Informix and Informix Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, the Citrix logo, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, MultiWin and
other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C, World Wide Web Consortium,
Massachusetts Institute of Technology.
JAVASCRIPT is a registered trademark of Sun Microsystems, Inc., used under license for technology invented
and implemented by Netscape.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
SAP, SAP Logo, R/2, R/3, mySAP, mySAP.com and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other
countries all over the world. All other product and service names mentioned are trademarks of their respective
companies.