Recipes for the Perfect PI v2.0

Recipes for the Perfect PI v2.0

An updated (and less technical) slide pack presented as a keynote at Mastering SAP Technologies 2013 in South Africa covering some of the lessons we learned implementing SAP Process Integration over the years.

A5604f2015f157ee20ceb1ea6e609bc9?s=128

Sascha Wenninger

July 30, 2013
Tweet

Transcript

  1. None
  2. Recipes for the Perfect PI! Sascha Wenninger! @sufw !

  3. None
  4. • К!

  5. • К!

  6. NetWeaver PI!

  7. @sufw on twitter! Technical Architect! Focus: SAP Integration! Co-founder of

    Blue T! SAP Mentor! Wannabe Performance Engineer! Enterprise IT != Boring! About Me
  8. This presentation is online: http://speakerdeck.com/sufw! Licensed under:!

  9. Largest retail network in Australia 3,500+ stores across Australia 8,000+

    Point of Sale terminals
  10. SAP IS-Retail Backend Various Point of Sale systems Large non-SAP

    footprint
  11. Real-time Processing of Retail Transactions ~1 million transactions per day

    Peak of 75/second
  12. No Impact to Other Interfaces, e.g. 2m+ parcel track events

    per day
  13. None
  14. Mission Critical!

  15. Challenge Accepted!!

  16. People!

  17. T! -Shaped People!

  18. T! Broad Knowledge! Shallow!

  19. T! Narrow Expertise! Deep!

  20. T! T! T! T! T!

  21. PI! ABAP! JavaScript! J2EE! JMS! TIBCO! XSLT! Ariba! IDocs! UNIX!

    Baking! jMeter! soapUI! XML Schema! Visio! Writing! Groovy! WebDynpro!
  22. Try Things!

  23. Technology and products change quickly! Don’t expect people to know

    it all up-front!
  24. Coordination!

  25. Hofstadter's Law:! It always takes longer than you expect, !

    even when you take into account Hofstadter's Law.!
  26. Architecture!

  27. Java!

  28. PI on ABAP is deprecated.! Since 7.1, more functionality has

    moved to Java:! AAE Advanced Adapter Engine! Advanced Adapter Extended AEX!
  29. We moved 1 interface from ABAP/Java to AAE:! Throughput 11x!

    >50% DB space saved! Halved CPU allocation!
  30. You don’t have to be on a single-stack Java system

    to benefit!! Migrate interfaces to Integrated Configuration Objects! Redesign interfaces to remove ccBPMs where possible. !
  31. Stateless!

  32. Orchestration should be your last option! Prefer:! Bigger, less reusable

    services over orchestration! Async notifications over distributed transactions! Keeping state in application systems over BPM!
  33. In ~4 years at Australia Post, how many ccBPMs did

    we deploy?!
  34. 0!

  35. None
  36. blah! Memory Memory!

  37. blah! Memory Life’s too short for swapping to disk. !

    Buy More RAM.!
  38. Memory Budget! Start with:! 1 GB Shared Objects! Per Java

    Server Node! 4 GB Heap! 10 GB! For ABAP! 5 GB! For your DBMS!
  39. Java Memory via the MMC!

  40. ABAP Memory: ST02!

  41. Keep Tuning.!

  42. Monitor Garbage Collections

  43. SolMan’s Java Memory Analyser can help

  44. Your system should never swap to disk! SAP used to

    recommend heap sizes of 2-3 GB. No longer true!! Running out of memory usually triggers garbage collection. ! Swapping slows down garbage collection in Java! Memory Tips
  45. Java Server Nodes!

  46. Have at least 2, but don’t have too many! A

    heavy-weight way to scale! Tune thread pool sizes before adding more. ! Java processes can have unlimited memory now!!
  47. The Database!

  48. Keep your Stats up to date! ! Fixing stats improved

    throughput 6x! Best of all: It’s Free! Database Statistics
  49. Reorg your DB!!

  50. Some PI tables churn a lot, others not much at

    all. ! Reorganise frequently:! • Save disk space! • Balance load across disk drives! • Automate reorgs!!
  51. The JVM!

  52. PI 7.1 and later use the SAPJVM by default. This

    is A Good Thing.! Fixes and enhancements delivered all the time! New Garbage Collection algorithms !  Always upgrade the JVM to the latest release! (Not just the one that comes with the SPS)! Takes 30 minutes with JSPM!
  53. Monitoring!

  54. Wily Introscope is great!! A limited license is bundled for

    free with NetWeaver! Provides detailed monitoring of a Java stack!
  55. None
  56. None
  57. None
  58. XML Schema!

  59. 0%! 20%! 40%! 60%! 80%! 100%! ABAP Proxy! ESR! Supported!

    Partially Supported! Not Supported! Support of XML Schema Features Based on information from Note 944029!
  60. etc.!

  61. People!

  62. Sascha Wenninger! sascha@BlueT.com.au! +61 403 933 472!

  63. Attributions – Thank you for the CC licensing! :-)! • 

    Pie photo, by Jay Peg: http://www.flickr.com/photos/jaypeg/300749794! •  Memory gallery, by Steve Jurvetson: http://www.flickr.com/photos/jurvetson/8007180700! •  Mr. Tune, by Oskar Seljeskog: http://www.flickr.com/photos/seljes/4316850477! •  Broken Harddrives, by purplemattfish: http://www.flickr.com/photos/purplemattfish/3188379971! •  Institutul National de Statistica, by cod_gabriel: http://www.flickr.com/photos/cod_gabriel/5020874491! •  The Old Library, Trinity College Dublin Ireland, by Mark Colliton: http://www.flickr.com/photos/52814185@N02/8541947962! •  Jet Engine, by Rainer Hungershausen: http://www.flickr.com/photos/mamboman/1390054987! •  International Building, by Kelvin Dickinson: http://www.flickr.com/photos/73172555@N00/4442337186! •  Sticker on TBL’s NeXT box, by Robert Scoble: http://www.flickr.com/photos/scobleizer/2251820987! •  Java’s Monte Bromo, by Javier Martin Espartosa: http://www.flickr.com/photos/druidabruxux/7076396311! •  Cancelled Passport, by Ken Mayer: http://www.flickr.com/photos/ken_mayer/3407687577! •  The Final Whistle, by Craig Sunter: http://www.flickr.com/photos/16210667@N02/8755031018 !
  64. Attributions – Thank you for the CC licensing! :-)! • 

    Turbine Monitoring, by Michael Connell: http://www.flickr.com/photos/mdconnell/5506445280! •  Forskerfabrikken, by Aktiv Oslo: http://www.flickr.com/photos/aktivioslo/5238029144! •  Le Sacre ballet troupe, by Lorenzo Gaudenzi: http://www.flickr.com/photos/lorenzogdnz/8205797284! •  Red Letter Box, by Les Haines: http://www.flickr.com/photos/leshaines123/4938621867! •  Lego Avengers, by Andrew Becraft: http://www.flickr.com/photos/dunechaser/6042984689 ! •  Safety First, by David “darkmatter”: http://www.flickr.com/photos/cdm/135735194!