1 / 20

Working Effectively with Oracle’s Public APIs

Working Effectively with Oracle’s Public APIs. Finding, Understanding, Using, Tuning, and Extending. Presented by Rob Lepanto, API Wizard. About the Presenter, Rob Lepanto. 17 years working with Oracle Apps/EBS Project manager and techno-functional consultant

altessa
Télécharger la présentation

Working Effectively with Oracle’s Public APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Working Effectively with Oracle’s Public APIs Finding, Understanding, Using, Tuning, and Extending Presented by Rob Lepanto, API Wizard

  2. About the Presenter, Rob Lepanto • 17 years working with Oracle Apps/EBS • Project manager and techno-functional consultant • President of the NYC-OAUG (geo group) • API Guru at API Wizard • www.linkedin.com/in/RobLepanto

  3. Presentation Overview • What’s an API and how are they used • How to identify available APIs • Working with APIs • When APIs fail • Improving API performance • Extensions and private APIs

  4. Presentation Goal • By the end of this presentation, you should have a better understanding of how you can find and use public APIs to improve business processing at your organization

  5. What’s an API? • API stands for 'Application Programming Interface' • A software program which serves as an intermediary or interface between two other software programs or between a software program and data • APIs are used in a very wide array of contexts with today’s technology and often mean slightly different things in each.

  6. Oracle EBS: Public API vs Private API • Public APIs have been created by Oracle for customer use. • Supported / safe • Documented • Relatively simple to use • Private/internal APIs are created by Oracle for its internal processing • Not supported • Use at your own risk

  7. How are public APIs used?

  8. Why is it important to use Public APIs? Along with open interfaces, public APIs represent the only safe, supported way to enter data in Oracle EBS aside from Oracle forms. "(Public) APIs are guaranteed to maintain the integrity of the database… Invalid data cannot be entered into the system and existing data is protected from incorrect alterations." Oracle Implementation Guide

  9. Great mysteriesThe Voynich ManuscriptThe Beale CiphersWho built Stonehenge and why?Where do I find a list of Public APIs? • No single, complete source of API information • You have to employ a variety of approaches to find the public APIs that you are looking for • Hard to find but there are a lot of them: • Over 1,500 in R11, over 2,500 in R12 • Some processes have both public APIs and Open Interfaces • Some processes have one or the other • A few processes have neither

  10. How to find Public APIs?

  11. Querying DBA Objects Use standard naming conventions and some ingenuity to find public APIs SELECT distinct object_namepkg, procedure$ proc FROMdba_objectsobj, sys.argument$ args WHEREobj.object_id = args.obj# ANDobj.object_type = 'PACKAGE' ANDobj.owner = 'APPS' AND ( obj.object_nameLIKE'%API%' ORobj.object_nameLIKE'%PUB%' ) ANDargs.procedure$ LIKE'%ITEM%' ANDargs.argumentLIKE'%LEAD_TIME_LOT_SIZE%' ORDER BY object_name, procedure$ Results: The public APIs generally have the term 'API' or 'PUB' in them, so this is a good way to narrow down your search This is part of the procedure name, generally somewhat descriptive to the task at hand. In this case, I want to update item info, so I’ll use 'ITEM' in my search to reduce the resultset This is the name of a parameter in the API. You’re probably guessing here but oftentimes API parameters are similar to the name of the field in the table where the data is stored. You can also look in the forms using Help > Examine

  12. De-Facto Public API Standards

  13. No quite standards but fairly common

  14. Error message handling • Messages • Number of messages controls how you retrieve them for most APIs. As a general rule, most APIs have a p_msg_count or x_msg_count parameter that gives you the message count • Single message • Generally go to output parameter p_msg_data (or x_msg_data) • Multiple messages • Generally written to fnd message buffer, • Must retrieve with fnd_msg_pub.get

  15. Public API Failures "I have not failed. I've just found 10,000 ways that won't work." - Thomas Edison Types of API Failures

  16. Public API Performance "Whenever you are asked if you can do a job, tell 'em, 'Certainly I can!' Then get busy and find out how to do it." - Theodore Roosevelt • You can’t improve API performance… can you? • Performance techniques • Traces and indexes • Parallel execution • Coordinating activity • Data preparation • Commit frequency • Use internal IDs • Pre-validate • Pinning • Patches

  17. Extending functionality with Wrappers • Wrappers • Program which provides a programming shell within which one or more APIs, validations, and output translations can occur. • Why use wrappers? • Often takes multiple APIs to complete a business process • Allows addition of logic, validations, and workflows • Requires programming effort but process efficiency usually makes it a good investment

  18. Private APIs "Risk comes from not knowing what you're doing." -Warren Buffett When do private APIs come into play? • When there are business process you need to perform outside of the forms and there’s no public API… but you’ve found a private API. Should you use it? What are the risks? • Risks • Use of private APIs is not supported by Oracle • May not work as you expect • Benefits • Significantly better than direct table writes • Not really that difficult to fully vet and test • Do Oracle customers use private APIs? • Yes. In my experience working with many (50+) organizations that make use of public APIs, approximately half also use private APIs.

  19. Conclusion • Oracle has invested heavily in exposing APIs to its customers, which is evident by the big increase in public APIs between R11 (1,500) and R12 (2,500) • Public APIs provide a safe and effective way to perform Oracle EBS transactions much faster and more efficiently than standard forms or custom programs • While it isn’t always easy to find them, there are public APIs for nearly every business process. With some ingenuity and elbow grease you can find them and learn how to use them • You can put them in wrappers for a more complete business process and you can improve their performance when needed • This is the 'right' (i.e. safeand supported) way to work with your Oracle EBS data

  20. For more information • To see white paper that was the source of data for this presentation, please go to: www.api-wizard.com/oaug_api_paper.html • To email Rob Lepanto

More Related