{"id":543,"date":"2015-02-20T11:51:00","date_gmt":"2015-02-20T11:51:00","guid":{"rendered":"http:\/\/www.jameshatton.co.uk\/blog\/?p=543"},"modified":"2019-12-30T04:27:46","modified_gmt":"2019-12-30T04:27:46","slug":"evaluating-the-adoption-of-a-soa-approach-to-developing-applications","status":"publish","type":"post","link":"https:\/\/www.jameshatton.co.uk\/blog\/2015\/02\/20\/evaluating-the-adoption-of-a-soa-approach-to-developing-applications\/","title":{"rendered":"Evaluating the adoption of a SOA approach to developing applications"},"content":{"rendered":"\n<p>At the current \u2018evolutionary stage\u2019 of E-Business technologies, the multi-tier architecture (illustrated in Figure 1) utilised by Picture Rights can be regarded as a more traditional design. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"282\" data-attachment-id=\"545\" data-permalink=\"https:\/\/www.jameshatton.co.uk\/blog\/2015\/02\/20\/evaluating-the-adoption-of-a-soa-approach-to-developing-applications\/multi-tier_architecture\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/multi-tier_architecture.png?fit=726%2C282&amp;ssl=1\" data-orig-size=\"726,282\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"multi-tier_architecture\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Figure 1 &amp;#8211; Example of multi-tier architecture &lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/multi-tier_architecture.png?fit=726%2C282&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/multi-tier_architecture.png?resize=726%2C282&#038;ssl=1\" alt=\"\" class=\"wp-image-545\" srcset=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/multi-tier_architecture.png?w=726&amp;ssl=1 726w, https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/multi-tier_architecture.png?resize=300%2C117&amp;ssl=1 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><figcaption>Figure 1 &#8211; Example of multi-tier architecture <\/figcaption><\/figure>\n\n\n\n<p>As a common business approach, this multi-tier architecture is relatively mature and stable with the advantage of being well-supported. When based on standards, this architecture allows for future developments because each tier can be readily exchanged due to defined interfaces between tiers.<\/p>\n\n\n\n<p>This model automates many activities of the business processes, for example, a client could submit a web form with a picture attachment to request a quote. However, the model fundamentally relies on the human operator as input to the process so the level of automation is \u2018capped\u2019 e.g. the user may have to re-submit multiple forms.<\/p>\n\n\n\n<p>The Service Oriented Architecture (SOA) is an alternative approach whereby the most relevant group of technologies is the Web Services Architecture (WSA). The primary goal of adopting a WSA approach is to enable automation by providing interfaces between the company\u2019s electronic business systems and external or internal software applications. Figure 2 outlines the operation of web services.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"734\" height=\"308\" data-attachment-id=\"547\" data-permalink=\"https:\/\/www.jameshatton.co.uk\/blog\/2015\/02\/20\/evaluating-the-adoption-of-a-soa-approach-to-developing-applications\/web-service-operation-outline\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/web-service-operation-outline.png?fit=734%2C308&amp;ssl=1\" data-orig-size=\"734,308\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"web-service-operation-outline\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Figure 2 Web service operation outline&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/web-service-operation-outline.png?fit=734%2C308&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/web-service-operation-outline.png?resize=734%2C308&#038;ssl=1\" alt=\"\" class=\"wp-image-547\" srcset=\"https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/web-service-operation-outline.png?w=734&amp;ssl=1 734w, https:\/\/i0.wp.com\/www.jameshatton.co.uk\/blog\/wp-content\/uploads\/2019\/12\/web-service-operation-outline.png?resize=300%2C126&amp;ssl=1 300w\" sizes=\"auto, (max-width: 734px) 100vw, 734px\" \/><figcaption>Figure 2 Web service operation outline<\/figcaption><\/figure>\n\n\n\n<p>The WSA does not replace the existing architecture but is complementary: the web service still uses a web server component of multi-tier architecture. A web service is provided and third-party software clients can easily connect by discovering these services listed in a service directory in a process governed overall by standardised protocols.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Web Services for the Company<\/h2>\n\n\n\n<p>Each web service should mirror a specific function because a host of web services can be listed in a UDDI registry and a third-party can access any specific services required. The table below provides examples of web services that Picture Rights could publish.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"\"><tbody><tr><td><strong>Web Service<\/strong><\/td><td><strong>Function\/Procedure<\/strong><\/td><td><strong>Audience<\/strong><\/td><\/tr><tr><td>Novelty<\/td><td>1. Client searches catalogue of novelty image backgrounds.<br>2. Client selects an image and submits photo.<br>3. Combined photo\/background image returned with quote reference and price. <\/td><td>High street shops<br>Online novelty print websites<\/td><\/tr><tr><td>Order<\/td><td>1. Client submits quote reference and makes payment in system.<br>2.  Order details returned (e.g. address) and instructions for shipment to Picture Rights (if applicable) <\/td><td>Any party using other web services.<\/td><\/tr><tr><td>Portfolio<\/td><td>1.  Client requests portfolio<br>2. Before\/After restoration image catalogue returned <\/td><td>Picture Rights\u2019 own website<br> Reseller of image restoration service<\/td><\/tr><tr><td>Repair<\/td><td>1. Client submit(s) images to be repaired with description of work required.<br>2. Quote reference and due date returned. <\/td><td>Picture Rights\u2019 own website<br> Reseller of image restoration service<\/td><\/tr><tr><td>Progress<\/td><td>1. Client requests status of progress<br>2. Service returns status e.g. work started, complete, dispatched <\/td><td>Any third party system (e.g. high street) or own website.<\/td><\/tr><tr><td>Enquiry<\/td><td>1.  Client sends general enquiry e.g. can you do this<br>2. Text response is returned by customer service agent <\/td><td>Any third party system e.g. specialist reseller or own website<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The web services could interface with the existing, potentially legacy, business systems via an \u201cadapter\u201d so that for example, once an order is placed, the photo requiring repair is placed in a folder on the graphic technician\u2019s PC with an accompanying brief. The processes resulting from WSA adoption is more efficient (compared to, for example, email exchange) so enables the business to meet deadlines better while saving costs (through increased productivity).<\/p>\n\n\n\n<p>APIs can be published by the company for third-parties to benefit from using these web services in their applications. Resellers, for example, could seamlessly integrate the novelty picture service into a website where a consumer interacts with the web store and is not aware of Picture Rights\u2019 involvement.<\/p>\n\n\n\n<p>This well-defined and seamless integration would be appealing for prospective partners to widen the market for Picture Rights through more partners. Additionally WSA would strengthen the existing relationships with current partner and \u2018lock\u2019 the partner into this process (cost of change from using Picture Rights as a service provider would be higher).<\/p>\n\n\n\n<p>The adoption of WSA could also mean that Picture Rights\u2019 own applications could access the web services of other organisations. For example, a web services client could fetch the image of a third-party catalogue (verifying licensing and cost) and order this as part of Picture Rights\u2019 own novelty service, when a client order is placed (via a partner).<\/p>\n\n\n\n<p>Although the SOA is a conceptually better approach compared to alternative architectures, it has commercial benefits whereby it is predominantly adopted by business to gain competitive advantage. To maintain that competitive advantage, a business must then continue to evolve its SOA to embrace the latest developments. SOA is however still, arguably, in its infancy because a variety of standards exist (few being de jure) and standards\/technologies are continuously emerging to supersede others. Additionally some of the proprietary products or technologies associated with the standards are not well documented.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tools and Standards<\/h2>\n\n\n\n<p>Web services are designed to automate processes by interoperability, which itself is achieved by adherence to standards. A number of standards are available in the web services protocol stack as described below.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"\"><tbody><tr><td><strong>Level<\/strong><\/td><td><strong>Technology<\/strong><\/td><td><strong>Standards and Resources<\/strong><\/td><\/tr><tr><td>Directory<\/td><td>UDDI<\/td><td>UDDI Version 3.0.2 (OASIS, 2004)<\/td><\/tr><tr><td>Service Description<\/td><td>WSDL<\/td><td>Web Services Description Language (WSDL) 1.1 (W3C, 2011)<\/td><\/tr><tr><td>Message Encoding<\/td><td>SOAP, XML, XML-RPC, REST<\/td><td>SOAP Version 1.2 Part 1: Messaging Framework (Second Edition) (W3C, 2007)<\/td><\/tr><tr><td>Network Transport<\/td><td>HTTP, SMTP, FTP<\/td><td>W3C, IETF<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Some standards compete and\/or are complementary such as SOAP and REST. It is arguable that the adoption of standards (as opposed to technology implementation) is crucial to realising the return on investment of a particular technology because some standards will prevail in the long-term over others. The resources in the table above provide a good reference to the standards required so that a brief can be better provided to developers for the prospective web services. Additionally the Web Services Interoperability Organization (WS-I) provides many standards (in the form of profiles) to help ensure web services are interoperable.<\/p>\n\n\n\n<p>If development was performed \u2018in-house\u2019 (this could be preferable as the adoption of SOA would be core to the business strategy) then financial investment in required technologies could be kept minimal by utilising open source products \u2013 which tend to better implement standards than proprietary systems and functionality can often be extended with plug-ins. The coding of many of these standards could even be done with text editors but the tools below will automate many aspects of the development process.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"\"><tbody><tr><td><strong>Tool<\/strong><\/td><td><strong>Purpose<\/strong><\/td><td><strong>Resources<\/strong><\/td><\/tr><tr><td>Eclipse IDE<\/td><td>Framework software for developing software applications.<\/td><td>https:\/\/eclipse.org<\/td><\/tr><tr><td>Axis2<\/td><td>Web Services \/ SOAP \/ WSDL engine with server\/client components<\/td><td>http:\/\/axis.apache.org\/axis2\/java\/core\/<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Recommendation<\/h2>\n\n\n\n<p>Picture Rights has to operate a technical transformational process (e.g. image repair) as well as market its services to consumers or businesses \u2013 and provide customer service. It is difficult for an SME (with 30 personnel) to coordinate all these functional areas effectively. The adoption of a SOA could have a huge transformative effect on the business model. Web services enable a business to transition from the using the Web for business to consumer (B2C) interaction to a transactional approach to using the Web i.e. business to business (B2B) automation. By providing web services to third parties, who will interact with customers themselves (marketing, customer service), Picture Rights could both extend their market reach but also better focus on the core business processes that add value \u2013 the technical manipulation of images.<\/p>\n\n\n\n<p>With such a dramatic effect on the business, the adoption of web services may appear disruptive but WSA technology could integrate with existing applications and enhance processes (via \u201cadapters\u201d bridging web services to legacy applications). This could separate customer interfaces (e.g. third parties or own website) from operational (transformative) processes. As the, increasing, adoption of web services is standards driven (consisting of a layered technology stack); confidence can be had in the long-term usage of this technology.<\/p>\n\n\n\n<p>The resources involved could be minimal initially: Many tools (arguably the better products) such as Apache are freely available and the developments\/training involved can produce results early on. The \u201ctrialability\u201d and scalability of the SOA approach means that observable benefits could be realised throughout the adoption cycle: The UDDI structure also means web services could be added over time. Using cloud hosting services reduces the technology dependence (compared to purchasing physical servers) and these could be scaled in-line with demand (e.g. seasonal demand for personalised cards).<br> Ultimately the WSA approach therefore reduces many of the fixed costs associated with the business processes and better controls the variable costs, reducing risk to the business. WSA is a modern approach and more businesses are adopting Software as a Service (Kontzer, 2012), known as Saas, it is important that Picture Rights capture this market potential.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<p>The Open University\n(2014) T320 \u2018<em>Introduction to web services\u2019<\/em>,\nBlock 3 Part 1, \u2018E-business technologies: foundations and practice\u2019, Milton\nKeynes, The Open University<\/p>\n\n\n\n<p>W3C (2001) \u2018<em>Web Services Description Language (WSDL) 1.1\u2019<\/em>  (Online)<br>http:\/\/www.w3.org\/TR\/wsdl (Accessed 25th February 2015) <\/p>\n\n\n\n<p>W3C (2007) \u2018<em>SOAP Version 1.2 Part 1: Messaging Framework\n(Second Edition)\u2019<\/em> [online] http:\/\/www.w3.org\/TR\/soap12\/ (Accessed 25th\nFebruary 2015)<\/p>\n\n\n\n<p>Oasis (2004) \u2018<em>UDDI Version 3.0.2\u2019<\/em> [online] https:\/\/www.oasis-open.org\/committees\/uddi-spec\/doc\/spec\/v3\/uddi-v3.0.2-20041019.htm\n(Accessed 25th February 2015)<\/p>\n\n\n\n<p>Web Services\nInteroperability Organization \u2018<em>Basic\nProfile Version 1.2\u2019<\/em> [online] http:\/\/ws-i.org\/Profiles\/BasicProfile-1.2-2010-11-09.html\n(Accessed 25th February 2015)<\/p>\n\n\n\n<p>Kontzer, T (2012) <em>\u2018Strategic Tech Slideshow: Gartner&#8217;s Global\nSaaS Spending Report: Plenty of Room for Growth\u2019 <\/em>[online] http:\/\/www.cioinsight.com\/c\/a\/Strategic-Tech\/Gartners-Global-SaaS-Spending-Report-Plenty-of-Room-for-Growth-282322\n(Accessed 26th February 2015)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At the current \u2018evolutionary stage\u2019 of E-Business technologies, the multi-tier architecture (illustrated in Figure 1) utilised by Picture Rights can be regarded as a more traditional design. As a common business approach, this multi-tier architecture is relatively mature and stable with the advantage of being well-supported. When based on standards, this architecture allows for future developments because each tier can be readily exchanged due to defined interfaces between tiers. This model automates many activities of the business processes, for example, a client could submit a web form with a picture attachment to request a quote. However, the model fundamentally relies on the human operator as input to the process so the level of automation is \u2018capped\u2019 e.g. the user may have to re-submit multiple forms. The Service Oriented Architecture (SOA) is an alternative approach whereby the most relevant group of technologies is the Web Services Architecture (WSA). The primary goal of adopting a WSA approach is to enable automation by providing interfaces between the company\u2019s electronic business systems and external or internal software applications. Figure 2 outlines the operation of web services. The WSA does not replace the existing architecture but is complementary: the web service still uses a web[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[20],"tags":[32],"class_list":["post-543","post","type-post","status-publish","format-standard","hentry","category-stem","tag-essay"],"featured_image_src":null,"author_info":{"display_name":"james","author_link":"https:\/\/www.jameshatton.co.uk\/blog\/author\/james\/"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p89zH1-8L","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts\/543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=543"}],"version-history":[{"count":2,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":548,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/posts\/543\/revisions\/548"}],"wp:attachment":[{"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jameshatton.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}