Rework
Analysis
Rework
Rework
Design
Rework
Develop
Accepted
Functional /
Integration Test Release to QA Technical
Test
Acceptance Test
Rework
Accepted
Maintain
Complexity Estimates development effort required for PI - 7.0, 7.1x, & 7.3x development
Determination Estimates each granular piece of development required to deliver a PI interface
Form Provides ABAP development/configuration effort for integration with SAP systems
Complex
Transformation Captures complex mapping requirement , transformation logic, constants for PI
Template value mapping tables. This is a supplement to interface specification document.
Design Review Captures findings and provides suggestions for improvement to technical design
Checklist Used by SME to verify and ensure best of possible designs is approached
Code Review Captures findings and provides suggestions for coding improvement
Checklist Verifies correct programming standards, guidelines followed and fine tuned
Object Delivery Ensures exit Criteria of the deliverable have been met, standards and guidelines are
Checklist adhered across all development life cycle.
Development
Process Analysis Design Develop Test Maintain
After requirements gathering, Functional consultant provides the functional specifications to the development lead.
Activities
PMT to Adhere
Development
Process Analysis Design Develop Test Maintain
Activities
The Developer
Reviews the functional requirements
Proposes a high level technical solution
Documents the above findings in the Specification Document using Interface Specification Template
Refers the Naming standards while furnishing details in the Specification Document above.
The Development Lead
Performs design review to ensure consistency of design and technique using Design Review Template
Sends the Specification for approval to the onshore team (if present)
If the design is not approved, coordinates with the developer to implement recommended changes
PMT to Adhere
Development
Process Analysis Design Develop Test Maintain
Activities
The Developer
After approval of the Design- refers the Development standards document to proceed for development.
Proceed with detailed design, development, unit testing until the object is reasonably complete
Update Technical specification/documentation if necessary
Update the Delivery checklist and alls documentation related to the deliverable for the Lead/SME for review
The Development Lead
Performs development review to minimize downstream defects and ensure standards compliance
Recommends changes and update the Development tracker with development review in process
Reviews all the deliverables and release for Functional or Technical Acceptance test
Marks the object as Approved by process team and ready for integration test.
PMT to Adhere
Development
Process Analysis Design Develop Test Maintain
Activities
The Developer
Creates transports for the development / configuration objects with proper naming convention to the QA
Supports functional resources during integration testing
Records defect information (using Defect Tracking tools)
Iterate through the development process from step necessary
Finalize object documentation (including transport history)
The Functional Consultant
Decides the test plan of interfaces (test scripts) in tandem with the development/integration lead.
Conducts integration and acceptance testing, records defects in a defect tracking tool
Provides sign-off when satisfied that development object(s) meet requirements
Development
Process Analysis Design Develop Test Maintain
Activities
Best Practices
Straight Ahead
1 For communicating with SAP systems, use standard IDOCs where available
Use function library in ESR to group UDFs. The function library can be used across SWC by defining SWC
2
dependency.
Graphical mapping is preferred mapping option. Evaluate ABAP , XSLT or Java mapping in case graphical
3
mapping with UDFs is not able to meet the requirement.
Make use of parameterized mappings in case certain field values are likely to change , do not hardcode in
5
message mapping.
Always include a copy of source code (Java files in case of java mapping or sda files for custom adapter
6
modules) in ESR along with interface objects
7
It is suggested to use Fault message in service interfaces to capture errors / exception. Especially with ABAP
proxy
PI single stack (Java only) does not support ccBPM , instead Netweaver BPM is available and needs to be used
2
for designing processes.
3 Design ccBPM with correct exception handling and deadline (time out)
4 Keep mapping and receiver determination outside ccBPM where possible for better performance.
1 Give proper names to UDF and variables in UDF that describe their purpose / functionality
4 While using loops in UDF for a performance demanding interface, try avoiding nested loops.
5 For large string append operations inside a loop, make use of StringBuffer Class instead of String Class
For loops running for large number of iterations try commenting debug traces , to avoid increase the trace size
6
especially in the production environment.
Use continue and break statements where possible, which will boost the performance by avoiding execution
7
of unnecessary code.
13 | - IBM Confidential - 2016 IBM Corporation
Globally Integrated Enterprise
1 Avoid empty catch blocks , as they will suppress the exception without being raised and captured.
2 Try to capture the stack trace as its extremely important in finding the root cause of the exception.
Re-throw any exception caught in the catch block , so that it can be captured by PI mapping runtime and
3
logged in the PI message trace.
When performing I/O operations in UDF, make sure the connections are closed/released in the finally block.
4
To avoid blocking resources.
3 Do not key in your own user id and password for communication channel
Configure availability time planning for communication channels , if interfaces need to be run only on specific
4
days or at specific intervals
SOAP Adapter
For projects with large number of web service scenarios (Service oriented implementation) use service
1
registry for better governance.
Design synchronous scenarios with care, check for optimized mapping design to avoid time out and
2
performance issues at runtime.
1 To read large binary data using file adapter, use file chunk mode (PI 7.3 onwards)
To read same file structure from multiple directories , use additional selection for source file option to list
2
multiple directories instead of creating multiple communication channels.
3 For sender file adapter , instead of using * , use file name pattern where file naming convention is known
JDBC Adapter
1 Use Message size limited when polling a DB with huge amount of data. (PI 7.3 onwards)
2 When reading data from a table that is being constantly updated set isolation level to serialization
3 Update staging tables rather than direct updates to live tables for DB scenarios.
1 Check create connection on demand for JMS receiver to ensure connection does not always remain active
2 Achieve transactional behavior for JMS sender by checking transactional JMS session.
Use JMS message selector to read only specific messages from JMS queue. This is useful if a common queue
3
includes messages for multiple interfaces.
IDOC Adapter
Do not hardcode IDOC sender and receiver values in PI mapping. Instead disable control record in mapping
1
and use ID , header mapping feature to change sender / receiver values
2 From PI 7.3 onwards, use IDOC Java adapter to process IDOC messages on AAE
3 For IDOC sender, use IDOC packaging to bundle multiple IDOC s together
1 Achieve Sync- Async functionality by using Request Response One bean in communication channel.
From PI 7.3 onwards , use SAP standard PGP Encryption module is case of requirement for encrypting and
2
signing messages.
Design scenarios using Integrated Configuration for faster message processing. (Note : Adapters and
2
development on ABAP stack and ccBPM not supported)
3 Use payload message search available PI 7.1 onwards to search for messages based on specific payload values
While monitoring PI systems, Integration Engine (SXMB_MONI, SMQ1, SMQ2,SM58), Adapter Engine (RWB
5
Message Monitor ,Communication Channel Monitor) needs to be monitored.
Actively monitor for the message which are stuck TBDL status for a long time than its usually takes and report
6
it to the Team Lead/ Basis Admin to investigate further as this could a probable performance issue.
Additional PO Guidelines
Use CBMA alerting to capture interface errors. For generic alerting i.e. capture all interface failures use
1 DEFAULT_ALERTRULE option in Monitoring or NWA -> Message Alert Configuration . (Using this you do not
need to assign alert rule to each ICO)
For migration from SAP XI / PI to SAP AEX / PO use migration tool (Option via. Configuration and Monitoring)
2
to convert classical scenarios to ICO. Note: it needs set of java roles assigned to user in order to use the tool
With existing dual stack PI installations , avoid developments using PI ABAP stack and design scenarios using
3 ICOs and other AEX features. This will simplify future migration as well as improve performance for the
interfaces
With AEX / PO , evaluate options of value mapping (smaller data sets) or Java tables in case cross reference
4 values are required. In general it is recommended to avoid maintaining large cross reference tables in PI as far
as possible and maintain it in application systems.
For technical process design , first evaluate other design workarounds .If not possible then only go for NW
5
BPM as NW BPM adds to interface performance
Enable message blacklisting via. NWA to prevent problematic messages eg: large messages causing server
6
overload / failure
Ensure PI standard content matches the corresponding SAP system version. Also the SAP backend system
2 should have the required content installed eg: TM content for PI is same version as SAP TM system +
component installed in the landscape
Always use the operations in Enterprise service, which are in released status. Avoid using the operations in
3
status Deprecated or Revoked
It is recommended to wrap remote function calls (RFCs) or BAPI programming interfaces as web services
4
where available over creating new structures and services
With PO 7.5 , cloud integration content for HCI can be used in PO. Check for HCI content availability especially
5
for cloud integrations as they may be more content available.
22 | Confidential
- IBM Confidential
22 - 2016 IBM Corporation