{"id":17,"date":"2004-05-31T23:29:38","date_gmt":"2004-06-01T04:29:38","guid":{"rendered":"http:\/\/www.jetpen.com\/blog\/?p=17"},"modified":"2023-02-05T10:29:55","modified_gmt":"2023-02-05T16:29:55","slug":"oops-here-comes-soa-again","status":"publish","type":"post","link":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/","title":{"rendered":"OOPs, here comes SOA (again)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Last week, I posted the following facetious comment about Service Oriented Architecture (SOA).<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/www.theserverside.com\/news\/thread.tss?thread_id=26122#123298\">Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on data, and return data to its callers. That sounds revolutionary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All we have to do now is eliminate the object-oriented programmers, and the revolution will be complete.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">There is a serious side to the issue. The recent popularity of SOA should give object oriented programmers much pause. Where do objects fit in the world of services? Are objects pass\u00e9?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the book <a href=\"http:\/\/www.amazon.com\/exec\/obidos\/tg\/detail\/-\/1930110952\/qid=1086061929\">Bitter EJB<\/a> (p.57), the distinction is made between service-driven and domain-driven approaches. I am strong proponent of domain-driven approaches. However, maybe three years ago, I began feeling that a purely domain-driven approach was awkward for modeling object graphs with very sophisticated global constraints. This is a natural topic of interest, considering that I model telecommunications networks for a living.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Factoring out the global constraints, instead of embedding them within the domain objects, seemed natural. I started to develop stateless session local interfaces (using plain old Java objects, not EJB), which use domain objects as parameters and return values. Then I found myself adding conversational state to the session objects. I&#8217;m not sure, where I&#8217;m going with this yet. We&#8217;ll see after a few more weeks or months of experimentation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After having developers fumble around with EJBs for the past four years, I am becoming disillusioned with the technology. XML and Web Services is going even further down the road of coarse-grained distributed components, which are a consequence of high latency due to expensive data marshaling and remote communications. Whenever EJB or Web Services is involved, the client code looks like garbage &#8211; calling functions on data, rather than methods on objects. Optimizing the interface to reduce client-server round trips pollutes the interface, until it also looks like garbage; objects become so polluted with denormalized data that the concepts are no longer recognizable. When faced with sophisticated object graphs, rather than simple services, the approach leads ultimately to garbage and more garbage. I&#8217;m tempted to call the approach Garbage Oriented Architecture, rather than SOA.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on &hellip; <a href=\"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">OOPs, here comes SOA (again)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2086,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3],"tags":[15,14],"class_list":["post-17","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-architecture","tag-platform"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Ben Eng\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"There is no box - Insights into innovation\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"OOPs, here comes SOA (again) - There is no box\" \/>\n\t\t<meta property=\"og:description\" content=\"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2004-06-01T04:29:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-02-05T16:29:55+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ben.eng\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@jetpen\" \/>\n\t\t<meta name=\"twitter:title\" content=\"OOPs, here comes SOA (again) - There is no box\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@jetpen\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#blogposting\",\"name\":\"OOPs, here comes SOA (again) - There is no box\",\"headline\":\"OOPs, here comes SOA (again)\",\"author\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/wp-content\\\/uploads\\\/2004\\\/05\\\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg\",\"width\":512,\"height\":512},\"datePublished\":\"2004-05-31T23:29:38-05:00\",\"dateModified\":\"2023-02-05T10:29:55-06:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#webpage\"},\"articleSection\":\"software, architecture, platform\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.jetpen.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/#listItem\",\"name\":\"software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/#listItem\",\"position\":2,\"name\":\"software\",\"item\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#listItem\",\"name\":\"OOPs, here comes SOA (again)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#listItem\",\"position\":3,\"name\":\"OOPs, here comes SOA (again)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/#listItem\",\"name\":\"software\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#person\",\"name\":\"Ben Eng\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/\",\"name\":\"Ben Eng\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#webpage\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/\",\"name\":\"OOPs, here comes SOA (again) - There is no box\",\"description\":\"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/wp-content\\\/uploads\\\/2004\\\/05\\\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#mainImage\",\"width\":512,\"height\":512},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2004\\\/05\\\/31\\\/oops-here-comes-soa-again\\\/#mainImage\"},\"datePublished\":\"2004-05-31T23:29:38-05:00\",\"dateModified\":\"2023-02-05T10:29:55-06:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/\",\"name\":\"There is no box\",\"description\":\"Insights into innovation\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"OOPs, here comes SOA (again) - There is no box","description":"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on","canonical_url":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#blogposting","name":"OOPs, here comes SOA (again) - There is no box","headline":"OOPs, here comes SOA (again)","author":{"@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author"},"publisher":{"@id":"https:\/\/www.jetpen.com\/blog\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg","width":512,"height":512},"datePublished":"2004-05-31T23:29:38-05:00","dateModified":"2023-02-05T10:29:55-06:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#webpage"},"isPartOf":{"@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#webpage"},"articleSection":"software, architecture, platform"},{"@type":"BreadcrumbList","@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.jetpen.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/category\/software\/#listItem","name":"software"}},{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/category\/software\/#listItem","position":2,"name":"software","item":"https:\/\/www.jetpen.com\/blog\/category\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#listItem","name":"OOPs, here comes SOA (again)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#listItem","position":3,"name":"OOPs, here comes SOA (again)","previousItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/category\/software\/#listItem","name":"software"}}]},{"@type":"Person","@id":"https:\/\/www.jetpen.com\/blog\/#person","name":"Ben Eng"},{"@type":"Person","@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author","url":"https:\/\/www.jetpen.com\/blog\/author\/ben\/","name":"Ben Eng"},{"@type":"WebPage","@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#webpage","url":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/","name":"OOPs, here comes SOA (again) - There is no box","description":"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.jetpen.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#breadcrumblist"},"author":{"@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author"},"creator":{"@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg","@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#mainImage","width":512,"height":512},"primaryImageOfPage":{"@id":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/#mainImage"},"datePublished":"2004-05-31T23:29:38-05:00","dateModified":"2023-02-05T10:29:55-06:00"},{"@type":"WebSite","@id":"https:\/\/www.jetpen.com\/blog\/#website","url":"https:\/\/www.jetpen.com\/blog\/","name":"There is no box","description":"Insights into innovation","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.jetpen.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"There is no box - Insights into innovation","og:type":"article","og:title":"OOPs, here comes SOA (again) - There is no box","og:description":"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on","og:url":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/","og:image":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg","og:image:secure_url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg","og:image:width":512,"og:image:height":512,"article:published_time":"2004-06-01T04:29:38+00:00","article:modified_time":"2023-02-05T16:29:55+00:00","article:publisher":"https:\/\/www.facebook.com\/ben.eng","twitter:card":"summary_large_image","twitter:site":"@jetpen","twitter:title":"OOPs, here comes SOA (again) - There is no box","twitter:description":"Last week, I posted the following facetious comment about Service Oriented Architecture (SOA). Posted By: Ben Eng on May 24, 2004 @ 09:27 PM in response to Message #123260 Strip all the behavior off of our domain objects. Define data structures to pass around. Provide sets of operations as stateless services, which perform functions on","twitter:creator":"@jetpen","twitter:image":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg"},"aioseo_meta_data":{"post_id":"17","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"SOA","score":100,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":1},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":[],"keyphraseInImageAlt":[]}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2022-11-12 20:58:02","updated":"2025-06-04 04:24:38","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.jetpen.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.jetpen.com\/blog\/category\/software\/\" title=\"software\">software<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tOOPs, here comes SOA (again)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.jetpen.com\/blog"},{"label":"software","link":"https:\/\/www.jetpen.com\/blog\/category\/software\/"},{"label":"OOPs, here comes SOA (again)","link":"https:\/\/www.jetpen.com\/blog\/2004\/05\/31\/oops-here-comes-soa-again\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2004\/05\/XHq45lhyRcKx5WJjyEUu-1-9ppaw.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8eKak-h","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":1,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts\/17\/revisions"}],"predecessor-version":[{"id":2513,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts\/17\/revisions\/2513"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/media\/2086"}],"wp:attachment":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/media?parent=17"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/categories?post=17"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/tags?post=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}