Discussions

General J2EE: 1000 concurrents users on J2EE Servers with SAP R/3 Connexion ?

  1. Hello

    We plan to externalize some specific SAP ABAP 4 programs on J2EE servers to simplify user access and to simplify the SAP upgrading process ( from 4.0 to 4.6 for example ).

    Does any one have tried to put 1000 concurrents users on an EJB product connected to SAP R/3 4.0 BAPI or RFC ?

    Does anyone the url for the J2EE connector spec for ERP ?

    Thanks

    Gerard Lledo
    CEA
  2. You better look at IBM implementation of connector architecture for SAP.

    They have IBM Common Connector Framework(Pure J2EE Connector architecture) for all systems like SAP, CICS and IMS.

    Foe performance with high number of users you may have to implement features like Connection Pooling using RuntimeContext provided by them.

    See below.
    =========


    CCF Connector for SAP R/3
    By introducing the Common Connector Framework (CCF), IBM addressed the issues raised by the integration of existing Enterprise Information Systems (EIS). In the past, every EIS provider came up with its own proprietary solution, a so-called connector, to ensure local and/or remote access to the EIS in order to serve the markets demand for openness. With the today's need for system integration in mind, this approach has several drawbacks, e.g. although the connectors for different EIS's are semantically very similar, they all look different. As a result, the lerning curve of a developer working with a new connector is quite high, there are different high level tools for different connectors, etc.
    As a solution for these drawbacks, the Common Connector Framework provides a common client programming model and a common infrastructure programming model for connectors. The common client programming model reduces the lerning curve for switching from one connector to another drastically. It also has the function as the plug-in interface for higher level tools, making those independent of a particular connector. The common infrastructure programming model defines the contract between a CCF compliant component server and a CCF connector. It enables the component server to control the state of the connector, whereas the connector can leverage services provided by the component server (such as security, transactions, connection pooling) in an easy way.

    In order to fit into the CCF, Connector for SAP R/3 contains a CCF compliant connector implementation which is built upon the Base Connector for SAP R/3. Currently there are three ways to involve the CCF Connector for SAP R/3:

    Using Enterprise Access Builder (EAB) Commands and Navigators
    Using enterprise bean proxies for SAP business objects generated by Access Builder for SAP R/3
    Programming directly against the CCF client interfaces
    Using Enterprise Access Builder (EAB) Commands and Navigators
    The Enterprise Access Builder for Transactions provides tools to model and implement interactions with Enterprise Information Systems. Since accessing these systems is done via the CCF client interfaces of the respective CCF connector, the tools are independent of the specific EIS. As a result a developer can use the same tools to model interactions with e.g. CICS and SAP systems. While EAB Commands encapsulate single interactions with an EIS, Navigators are used to model complex interaction flows. Please see the EAB documentation for details.
    Modelling interactions with SAP R/3 systems typically involves the following steps:

    Identify the required SAP R/3 data and/or business logic.
    Identify the appropriate RFC modules to access the data/business logic.
    Generate proxy beans for the required RFC modules with Access Builder for SAP R/3.
    Create and edit EAB Commands using the generated RFC proxies as input/output beans.
    Optionally compose Navigators using Commands and/or Navigators created in steps 4 and 5.
    Use the Commands/Navigators in servlets, enterprise beans, Procedural Adapter Objects and applications. Please see the EAB documentation for a detailed description of the different scenarios.
    The following matters have to be considered when using the EAB tools in connection with the CCF Connector for SAP R/3:

    The CCF Connector for SAP R/3 specific ConnectionSpec and InteractionSpec classes, i.e. com.ibm.connector.sap.SAPConnectionSpec and com.ibm.connector.sap.SAPInteractionSpec, must be used.
    Input and output bean must be proxy beans for RFC modules generated by Access Builder for SAP R/3
    Input and output bean must be of the same type.
    As the generated RFC proxies contain all required information, no properties have to be set in the SAPInteractionSpec.
    Using enterprise bean proxies for SAP business objects generated by Access Builder for SAP R/3
    Access Builder for SAP R/3 allows you to directly generate enterprise bean proxies for SAP Business Objects. The generated stateful Session EJB beans can be deployed on any enterprise beans server (EJS) providing support for stateful Session EJB beans and an implementation of the CCF infrastructure interfaces. Additionally these generated enterprise beans provide the client with a smart table cache to avoid long download times for large tables. If it is sufficient to do a one to one mapping of SAP Business Objects to EJB beans then this is the easiest approach. In all other cases you should use the EAB tools.

    Each Business Object EJB bean must be bound to a specific SAP R/3 system at deployment time. The deployer has to set the necessary connection properties through the EJB bean's deployment descriptor. The deployer is not required to set all properties, e.g. gatewayHost and gatewayService don't have to be set if no gateway is used, or hostName and systemNo is not needed if loadBalancing is activated). If one EJB bean will be used with different SAP R/3 systems, it must be deployed once for every system using the appropriate connection properties. The different EJB beans must be addressed with their individual names.

    When accessing SAP R/3 systems an authorization must be performed. Running on a full CCF compliant component server, the CCF Connector for SAP R/3 can retrieve the logon information from the security service of the server. But CCF Connector for SAP R/3 also provides two alternative circumventions for environments which are missing this support.

    A special EJB bean (com.ibm.sap.bapi.ejb.EjbUserManager) is provided to manage the associations between the client instances and the SAP R/3 logon parameters. The EjbUserManager class contains methods for setting the SAP R/3 logon information. Client applications have to instantiate the EjbUserManager on every EJB server. The methods setUserInfo(userID, password, client, language) or setUserInfo(userID, password, client, language, codepage) associate the client instance with the SAP R/3 user information for all EJB beans that are instantiated afterwards on the EJB server. Therefore, one of these methods must be called before any other SAP Business Object EJB bean is instantiated. The SAP R/3 user information may be changed later during runtime. This change does not affect the previously instantiated EJB beans, it only applies to all subsequent EJB bean instantiations of the client.
    An alternative approach is to specify the SAP R/3 user information during instantiation of the enterprise bean proxy. This can be done by using the create(com.sap.rfc.UserInfo) instead of the create() method in the home interface of the Business Object enterprise bean proxy. In this case the EjbUserManager doesn't have to be deployed.
    Programming directly against the CCF client interfaces
    Please see the Common Connector Framework documentation for a detailed description of this approach. Even though it is possible to script directly against the CCF Connector for SAP R/3, this is not recommended. Using EAB Commands and Navigators will relieve a developer from the burden of scripting the same sequences over and over again.

    CCF infrastructure interfaces
    The CCF Connector for SAP R/3 leverages services (such as security, transactions, connection pooling) through the CCF infrastructure interfaces. CCF compliant component servers have implemented these interfaces and adapt the CCF Connectors view to their actual service implementation. When running on a component server providing none or no full support of the CCF infrastrucure services, the required services have to be adapted by setting up the CCF infrastructure manually. The same applies in case of developing a fat (standalone) Java application. Please see the Access Builder and Connector for SAP R/3 Release Notes for the current status of available CCF infrastructure implementations (e.g. WebSphere Application Server, VisualAge for Java Enterprise Edition).


  3. Thanks for your answer

    Is this IBM SAP Connector product the OEM of NEON EAI product recently bought by Sybase ?

    Thanks

    Gerard
  4. Iam the co-founder of Netprise.com a startup company.We at netprise are designing and developing a EAI Product suite with pluggable architecture which is totally j2ee and xml compliant. In the initial run we are releasing modules to bridge SAP'S S&D Module. We will be utilizing xmlbridge from ibm or the java connection server to connect to SAP and make calls to RFC's. Our designers have experience in designing enterprise level systems and were directly involved in designing some of the leading app servers in the market.

    We are also seeking beta clients for our product suite.
    Do not hesitate to write me rajn at netprise dot com


    Raj