cancel
Showing results for 
Search instead for 
Did you mean: 

JCO Performance /Load

Former Member
0 Kudos

I want to use JCO for a really heavy load application.

The JCO calls a BAPI (CRM) that searches for contacts in SAP CRM/and if I does not find new contacts creates one.

This is to be done 200.000 times per day.

How many parallel connections can I build up with JCO (parallel threads)?

How many RFC users should be used (one or more)?

How stable is JCO in comparison to a pure ABAP programm that executes the same task?

Is JRFC or another technology more suitable for this?

Thanks for any advise.

Markus

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Kishor,

Thanks for the detailed explanation to Markus question. My question is I need to write a J2EE web application and the front end is going to be JSP. Back end is going to be R/3. We have this application currently running on Oracle and Weblogic. Now we need to add many new functionality where we are adding R/3 database to this app. Our Management has decided to write a brand new app where database is going to be R/3 and the existing Oracle. I am planning to use JCA or JCO for the R/3 connection.

We are going to run this app as a stand alone now and down the like we will give access through Portal. I can call a J2EE application using URL iView right? Can I use JCO or JCA for a J2EE application to connect R/3 right?If so what's the advantage if I use a PDK based Dynpro application and a JSP based J2EE application.

Thank you in advance.

Paul.

kishorg
Advisor
Advisor
0 Kudos

Hi Paul,

<u><b>I can call a J2EE application using URL iView right?</b></u> u r right.

i f u have portal ,u can create iviews (URL iviews )->then assign this to one role- Add this role to particular user -> and can access the application.(JSP).

<u><b>Can I use JCO or JCA for a J2EE application to connect R/3 right?</b></u>

ya , u can use JCO . just have to write the JCO connection and all those things in Simple Java Beans.But here the problem is u have to use the appropriate APIs(but simple). but to write the entire code here .

<u><b>If so what's the advantage if I use a PDK based Dynpro application and a JSP based J2EE application.</b>

</u>

For one application , we are using most of our time for User interface design and development.

<b><b>1)</b></b> <b>Just Consider GUI development here,,</b>

when we follow JSP.

-


we can make use of the advantages of simple HTML tags for Interface Development.

can make use of CSS.

simple validations can be achived through java script and whole those things.

When we use PDK Dynpage.

-


Here for the entire UI Development , u have to use the

API s available. Its just like a AWT application develpment. Have to write java codes for entire User interface here.

<b><b>

2)</b></b> Consider Connectivity..

With JSP

-


we can access the RFC s and BAPIs , just like webservice.

If we follow JCO , we have to write the entire code for connection , FM template creation , executing Functions.

etc.. In net , we are creating proxy classes by means of coding itself.

With PDK Dynpage

-


We can create Portal Services from WSDL files . then we can access it simply from Portal Objects like Dynpage ,JSPDynpage ....

During Portal Service Creation what will happen is that , the entire proxy classes are automatically generating.(simple classes for STRUCTURES,TABLES etc in ABAP).

we can set importparams easily ..

that advantage u will get from here..

If GUI development is not a constraint for u .. then my opinion is with PDK..

Regards

Kishor Gopinathan

Former Member
0 Kudos

Thank you Kishor,

That answered partially my question. We are in the process of developing a form based interactive application. We were told that WebDynPro with adaptive R/3 RFC will (JCo) decrease the performance. Application data partially comes from R/3 and it also needs to be stored in J2EE data base. Also like to give you points, not sure how to do?

1. Which technology is the best one to impellent based on scalability and performance?

a) PDK based application using JCo

b) WebDynPro with Adaptive RFC (JCo)

c) WebDynPro with Java Bean written using JCO/JCA and exposed as web service?

BTW: What's the main difference between JCo and JCA implementation? Do I need to use different APis?

Paul

kishorg
Advisor
Advisor
0 Kudos

Hi Markus,

depending upon the front end application(Java Application ), means WebDynpro , J2EE application , Portal Application or just a java application , u can decide which to use to connect with R/3.

if ur application is WebDynpro , u can access RFC 's and BAPIs , as models (In NWDeveloper Studio , u have the provision to connect to R/3 system and get the metadata details of all RFCs and BAPIs in the R/3 and select those you need from one list. using this automatically the proxy classes(Helper classes created in java using the metadata information for accessing the RFC from Java) during model creation).

if u r going for a normal Java Application , u can use JCO.

If u r going for J2EE Application , u can use JCO or using the Webservice ( In R/3 corresponding to each RFC or BAPI webservices are present . so that u can access these from anywhere . WSDL files are generated during RFC creation in R/3).

if u r using JCO , its not much generic ,but what u have to do is , u have to create the entire code for

connection to R/3 , creating Function Templates, setting import params.. etc.

For ur problem ,

here u are accessing the R/3 this much huge nunber of times. So u have to configure the R/3 system accordingly.

<b><<How many parallel connections can I build up with JCO (parallel threads)?

>></b>

Using JCO , we can connect to R/3 in two ways...

Direct Connection and

Using Connection Pool..

For Direct connection , in your case is not advisable , bcoz each time connection creation and close take place .

We can almost make it work using the connection pool concepts in JCO . Here what u have to do is , create one connection pool and then u can give the maximum number of connections in one Connection pool (this u can configure based on the number of chances of accessing the R/3 at one time . u can set time out for each connection also) .

Configuring the R/3 accordingly .. just follow this help</b>

http://help.sap.com/saphelp_nw2004s/helpdata/en/6e/3f560a3e0f6f4a90fb1e7db1388d4d/content.htm

<b><<How many RFC users should be used (one or more)?

>></b>

here , this also u have to decide .. bcoz , if u r developing a front end application , in which u can enter the back end user and connection parameters accordingly , u can create number of RFC users and can access ur application from different ends using different RFC users... If it is from one location only , then one RFC user is sufficient.

<b>How stable is JCO in comparison to a pure ABAP programm that executes the same task?</b>

As i mentioned earlier , when u r using JCo for back end access , here the connection creation , RFC template creation , setting import params all things u will have to do. Main thing here is for executing the function module you are going through a Middleware..(JCO is just like a middleware bw R/3 and Java). So it is not a direct execution . This JCO have to type cast the DATA types in ABAP to those in Java accordingly . this is also one burder.

But from ABAP , here is the direct execution so there is no need to do all these things . Its the best option.(BSP Application).

<b>Is JRFC or another technology more suitable for this?</b>

JRFC is an obsolete technology now.

just refer these links also ....

<u>SAP Enterprise Connector..</u>http://help.sap.com/saphelp_nw2004s/helpdata/en/79/c6213e225f9a0be10000000a114084/content.htm

http://help.sap.com/saphelp_nw04s/helpdata/en/7b/ca6641ffb68147e10000000a1550b0/content.htm

http://www.persistentsys.com/presentation/Java_SAP_Integration.pdf

http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf

Regards

Kishor Gopinathan

Former Member
0 Kudos

Hi Kishor,

How are you? I have seen around the Forum the reference to Webservices already provided by SAP on R/3, do you now how to check for this Webservices that are already there? we are planing to expose BAPI´s as Webservices following this /people/sridhar.k2/blog/2006/09/12/creating-and-exposing-bapi-as-web-service-and-using-it-in-web-dynpro but if they are already created we can take that aproach.

Thanx in Advanced!

Kind Regards.