{"id":2355,"date":"2021-10-18T10:00:00","date_gmt":"2021-10-18T14:00:00","guid":{"rendered":"https:\/\/michaelrowe01.com\/?p=2355"},"modified":"2022-12-15T06:46:02","modified_gmt":"2022-12-15T11:46:02","slug":"apis-and-open-development","status":"publish","type":"post","link":"https:\/\/michaelrowe01.com\/index.php\/uncategorized\/apis-and-open-development\/","title":{"rendered":"API\u2019s and Open Development"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/michaelrowe01.com\/wp-content\/uploads\/2021\/10\/image-1.jpg?w=660&#038;ssl=1\" alt=\"Bunny\" class=\"wp-image-2356\"\/><figcaption>A Monday Morning Bunny<\/figcaption><\/figure>\n\n\n\n<p>I rarely write posts about my day job on this blog, the focus of this blog is to address my hobbies and passions.\u00a0 When those intersect with my day job I will try and post a few thoughts.\u00a0 Having said that, I recently took a new job focusing on improving the API strategy of <a href=\"https:\/\/www.ibm.com\/products\/engineering-lifecycle-management\">IBM\u2019s Engineering Lifecycle Management<\/a> offering (ELM). \u00a0<\/p>\n\n\n\n<p>IBM ELM is a tool suite utilized by the world\u2019s most successful companies which design, develop and deliver vehicles of all kinds (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Planes%2C_Trains_and_Automobiles\">Planes, Trains, and Automobiles<\/a> &#8211; and more)!\u00a0 The suite of capabilities\u00a0 was built on the idea of open development.\u00a0 The team has been developing this publicly for well over a decade, and has built an incredible community at <a href=\"https:\/\/jazz.net.\">jazz.net<\/a>.\u00a0<\/p>\n\n\n\n<p>The basic, underlying APIs have been exposed via a standard called OSLC (<a href=\"https:\/\/open-services.net\/about\/\">Open Services for Lifecycle Collaboration<\/a>).\u00a0 This OSLC standard is is being maintained and enhanced via Open Oasis.\u00a0<\/p>\n\n\n\n<p>One of the coolest things about OSLC based APIs is that they are highly discoverable at runtime when working on building integration between systems.\u00a0 In ELM, we expose many services via a \u201cRootServices\u201d document on each server. \u00a0 By parsing this document, APIs (or services) are exposed, and their definitions are exposed. \u00a0<\/p>\n\n\n\n<p>I\u2019ve been working on a example of how to parse this via a set of Postman examples to help new developers understand this technology.\u00a0 This example will show, how to parse a RootServices document, perform a simple OAuth1.0a authentication, and then expose the definition of a specific API and the data that must be provided to create a system artifact.\u00a0 Right now my example shows how to create a Automated Test Adapter.<\/p>\n\n\n\n<p>I hope to do some cleanup of my example over the next few weeks and will post it here; however, I would like to understand what other types of open API documentation people would like to see.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I rarely write posts about my day job on this blog, the focus of this blog is to address my hobbies and passions.\u00a0 When those intersect with my day job I will try and post a few thoughts.\u00a0 Having said that, I recently took a new job focusing on improving the API strategy of IBM\u2019s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"hide_page_title":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-2355","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts\/2355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/comments?post=2355"}],"version-history":[{"count":1,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts\/2355\/revisions"}],"predecessor-version":[{"id":2362,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts\/2355\/revisions\/2362"}],"wp:attachment":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/media?parent=2355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/categories?post=2355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/tags?post=2355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}