{"id":55719,"date":"2016-05-04T13:00:07","date_gmt":"2016-05-04T10:00:07","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=55719"},"modified":"2016-05-02T22:04:03","modified_gmt":"2016-05-02T19:04:03","slug":"application-modules-entity-cache","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html","title":{"rendered":"Application Modules and Entity Cache"},"content":{"rendered":"<p>Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.15.20-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-55790\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.15.20-PM.png\" alt=\"Screen Shot 2016-04-30 at 4.15.20 PM\" width=\"297\" height=\"401\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.15.20-PM.png 297w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.15.20-PM-222x300.png 222w\" sizes=\"(max-width: 297px) 100vw, 297px\" \/><\/a><\/p>\n<p>It represents the core building blocks of ADF Business Components at run-time. There is an instance of a\u00a0<b>root application module<\/b> containing\u00a0<b>view object<\/b> instances. View object instances might be backed up by\u00a0<b>entity objects<\/b> that are stored in entity collection or in other words\u00a0<b>entity cache.<\/b>\u00a0A root application module may also contain nested application modules which in their turn my contain their own view object instances. This is very important that all view object instances and nested application modules within a single root AM share the same entity cache. The question is\u00a0<b>How?\u00a0<\/b><\/p>\n<p>The diagram above represents a very simple case. There is only one user session and it is assumed that there is only one root application module in the application. However, ADF BC suppose that each user session has its own entity cache. So, what links my application module to my and only my entity cache?<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>And here is where\u00a0<b>DB Transaction\u00a0<\/b>object comes to the scene:<\/p>\n<p>It is an internal framework object that actually contains entity cache and provides it to all application modules registered with this DB Transaction object. Furthermore\u00a0<a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.18.12-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-55791\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.18.12-PM.png\" alt=\"Screen Shot 2016-04-30 at 4.18.12 PM\" width=\"700\" height=\"404\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.18.12-PM.png 700w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.18.12-PM-300x173.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><b>DB Transaction<\/b> object contains a\u00a0<b>DB connection<\/b> and it provides all\u00a0<b>jdbc<\/b>-related services such as creating and executing callable statements. Many\u00a0developers think that actually application module is responsible for containing entity cache, holding DB connection and interacting with database. That&#8217;s not actually true. An application module is just attached to DB Transaction object consuming entity cache and DB connection from it. The word\u00a0<b>&#8220;attached&#8221;<\/b> means that there could be\u00a0<b>many <\/b>root application modules referring to the same\u00a0DB Transaction object.<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.21.32-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-55792\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.21.32-PM.png\" alt=\"Screen Shot 2016-04-30 at 4.21.32 PM\" width=\"718\" height=\"397\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.21.32-PM.png 718w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-04-30-at-4.21.32-PM-300x166.png 300w\" sizes=\"(max-width: 718px) 100vw, 718px\" \/><\/a><\/p>\n<p>In that case the transaction is called\u00a0<b>&#8220;shared&#8221;<\/b>. Each application module attached to it consumes the same DB Connection and the same entity cache. There is a common myth that any instance of a root application module always requires a dedicated DB connection. Obviously, that&#8217;s not always the case.<\/p>\n<p>This feature is based on\u00a0<b>jbo.shared.txn<\/b> AM property. It means that all root application modules with the same value of this property will share the same DB Transaction object and therefore the same DB connection and entity cache. The\u00a0<b>&#8220;shared transaction&#8221;<\/b> feature is commonly used for \u00a0<b>shared application modules<\/b>\u00a0so that by setting the same string value for their jbo.shared.txn property we can force them to share the same DB connection.<\/p>\n<p>That&#8217;s it!<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/adfpractice-fedor.blogspot.com\/2016\/04\/application-modules-and-entity-cache.html\">Application Modules and Entity Cache<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/join-us\/jcg\/\">JCG partner<\/a> Eugene Fedorenko at the <a href=\"http:\/\/adfpractice-fedor.blogspot.com\/\">ADF Practice<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building blocks of ADF Business Components at run-time. There is an instance of a\u00a0root application module containing\u00a0view object instances. View object instances might be backed up by\u00a0entity objects that are stored in entity &hellip;<\/p>\n","protected":false},"author":191,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[344],"class_list":["post-55719","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-adf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Application Modules and Entity Cache - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Application Modules and Entity Cache - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-04T10:00:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Eugene Fedorenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eugene Fedorenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html\"},\"author\":{\"name\":\"Eugene Fedorenko\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/9e61ee3d0b8fda5d1239f82f0f5e4e93\"},\"headline\":\"Application Modules and Entity Cache\",\"datePublished\":\"2016-05-04T10:00:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html\"},\"wordCount\":436,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"keywords\":[\"ADF\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html\",\"name\":\"Application Modules and Entity Cache - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2016-05-04T10:00:07+00:00\",\"description\":\"Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/application-modules-entity-cache.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Application Modules and Entity Cache\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/9e61ee3d0b8fda5d1239f82f0f5e4e93\",\"name\":\"Eugene Fedorenko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g\",\"caption\":\"Eugene Fedorenko\"},\"description\":\"I am a Senior Architect at Flexagon focusing on ADF and many other things.\",\"sameAs\":[\"http:\\\/\\\/adfpractice-fedor.blogspot.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/eugene-fedorenko\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Application Modules and Entity Cache - Java Code Geeks","description":"Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html","og_locale":"en_US","og_type":"article","og_title":"Application Modules and Entity Cache - Java Code Geeks","og_description":"Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building","og_url":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2016-05-04T10:00:07+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","type":"image\/jpeg"}],"author":"Eugene Fedorenko","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Eugene Fedorenko","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html"},"author":{"name":"Eugene Fedorenko","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/9e61ee3d0b8fda5d1239f82f0f5e4e93"},"headline":"Application Modules and Entity Cache","datePublished":"2016-05-04T10:00:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html"},"wordCount":436,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","keywords":["ADF"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html","url":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html","name":"Application Modules and Entity Cache - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2016-05-04T10:00:07+00:00","description":"Any ADF developer with some basic knowledge of ADF Business Components would be familiar with the following diagram: It represents the core building","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/application-modules-entity-cache.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Application Modules and Entity Cache"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/9e61ee3d0b8fda5d1239f82f0f5e4e93","name":"Eugene Fedorenko","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g","caption":"Eugene Fedorenko"},"description":"I am a Senior Architect at Flexagon focusing on ADF and many other things.","sameAs":["http:\/\/adfpractice-fedor.blogspot.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/eugene-fedorenko"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/55719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/191"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=55719"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/55719\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=55719"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=55719"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=55719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}