Blog Feed Post

The Solution and Service Architecture Relationship

Whilst we might have a particular specialization at Everware-CBDI in all things SOA, most of the system integration/delivery projects we are engaged on are still solution focused. The delivery of services, organized into a service architecture may be central to the solutions we deliver, and the reason for our engagement, but the end result is still a solution in the conventional IT sense.

Following the recent delivery of a solution architecture class, I produced a new eLearning module for our Service Architecture Practitioner Syllabus, and part of that module is explored in this post, where I examine the relationship between the solution and service architecture.

Parallel Architectures

A solution can be understood in relatively abstract terms – a solution to a problem, or a solution to a business requirement. Hence, even the provisioning of an individual service may be seen as a solution to some problem in the right context.
However, taking that more conventional IT sense, a solution is usually seen as a packaging of application functionality, that provides support for a set of business requirements. Hence a solution can be understood as consisting of the following main elements,
  • One or more Application assemblies, each providing several functions that are required of the overall solution.
  • A form of user interface that provides a means for Human-Machine interaction between the user and the applications in a manner that supports a particular business workflow.
  • And a set of Services, where each provides one or more of the required functions.
Figure 1: Parallel Solution and Service Architecture Views
As illustrated in figure 1, delivery of the solution architecture often parallels that of the service architecture.
The process starts by modelling the Solution Specification Architecture. A key part of this is identifying which services are required in order to support the functions that the solution automates.
Hence the Solution Specification Architecture is partly expressed by a dependency model that shows the solution elements and their service dependencies.
Next, a Solution Implementation Architecture is produced showing the software elements that will be required to implement the solution specification. Now the relationship to the required services can be expressed more precisely using an Interaction or Sequence Diagram.
Finally, the Solution Deployment Architecture shows how the software elements are deployed to the network modelled by the Technical Architecture and realized in the operational environment.

Why separate the solution and service architectures in this way?  A solution can be considered to consist of both of these views.  That is, the delivery of a solution that addresses some business need requires both the delivery of the services and their assembly along with the human machine interaction aspects into the solution.

So won’t one architecture suffice?  It could do.  And for some small, truly stand-alone, self-contained solutions it may well be sufficient. But in many cases there are some good reasons why it is best practice to deal with them separately, even if their delivery of both is within the same solution project. For example
  • Enable agility. By decoupling the Services from the human machine Interaction each can evolve at a different rate
  • Encapsulate change. By hiding unnecessary detail of the complete Service Architecture and focusing only on the services directly used by the Solution, this helps to encapsulate change in the service architecture.
  • Support sharing. For most solutions it is desirable to leverage Services that are shared or common across the enterprise or line of business, and hence these services need to be independent of any one Solution. Moreover, it isn't uncommon for solution-specific services to evolve into shared services.

Solution and Service Architecture Iteration

As noted, the Solution Architecture is partly expressed in terms of the Services it uses. The apparent overlap between the Solution and Service Architecture shouldn’t be seen as a duplication of effort.
Rather it is just two alternative views of the same overall architecture, and common elements are only developed once.

Hence, as shown in figure 2 the Service Architecture is an input to the Solution Architecture activity.  At the same time, the Solution Architecture activity may identify the need for new Services, and these new requirements can be fed back into the Service Architecture activity.  It is then determined whether these new Services are specific to the Solution, or whether they should be delivered as Shared Services and made available to other Solutions. This should be a subject of policy.
As illustrated, both of these activities should be working off the same set of business models as input, but each put to appropriate use.

Figure 2: Solution and Service Architecture Iteration
During the Implementation and Provisioning stages, the Service Specification (or Service Implementation Architecture if completed) is now input to Solution Implementation activities. The use of operations required by the Solution can be modelled in Interaction Diagrams.  Again, this activity may identify new Service Operations and again these requirements can be fed back into the Service Provisioning activity.

The extent to which the Solution Architecture and Service Architecture are developed together as part of the same project will depend on various factors such as the need to deliver services that are used in multiple solutions.  At one extreme there may be an extensive Service Architecture that pre-exists the Solution Architecture, and a Solution is largely a new assembly of pre-existing Services.  At the other extreme, there may be a minimal existing Service Architecture and it needs to be developed in parallel with the Solution Architecture, with much of the Service identification being based on the Solution’s specific requirements.

Agile Solution Delivery

It is important to recognize that that the sequence these activities are performed in is not predicated on a waterfall approach.

Figure 3: Agile Solution Delivery
The whole service and solution architecture does not need to be fully detailed before any provisioning activities can commence.  Rather, we would expect each execution of an architecture sprint to provide just enough architecture to support a release of part of the solution.
Similarly, the specification, implementation, and assembly of services and solutions would also be performed though a series of development sprints.
Whilst the necessary business models required as input could be collected during a pre-sprint phase.

Everware-CBDI eLearning

The Solution Architecture module is available as part of our range of eLearning products, which can be purchased individually or as part of a subscription to our Knowledgebase which contains all our elearning materials and much more.

Read the original blog entry...

More Stories By Lawrence Wilkes

Lawrence Wilkes is a consultant, author and researcher developing best practices in Service Oriented Architecture (SOA), Enterprise Architecture (EA), Application Modernization (AM), and Cloud Computing. As well as consulting to clients, Lawrence has developed education and certification programmes used by organizations and individuals the world over, as well as a knowledgebase of best practices licenced by major corporations. See the education and products pages on http://www.everware-cbdi.com

Latest Stories
DevOps promotes continuous improvement through a culture of collaboration. But in real terms, how do you: Integrate activities across diverse teams and services? Make objective decisions with system-wide visibility? Use feedback loops to enable learning and improvement? With technology insights and real-world examples, in his general session at @DevOpsSummit, at 21st Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, explored how leading organizations use data-driven DevOps to close th...
"Digital transformation - what we knew about it in the past has been redefined. Automation is going to play such a huge role in that because the culture, the technology, and the business operations are being shifted now," stated Brian Boeggeman, VP of Alliances & Partnerships at Ayehu, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
The past few years have brought a sea change in the way applications are architected, developed, and consumed—increasing both the complexity of testing and the business impact of software failures. How can software testing professionals keep pace with modern application delivery, given the trends that impact both architectures (cloud, microservices, and APIs) and processes (DevOps, agile, and continuous delivery)? This is where continuous testing comes in. D
"WineSOFT is a software company making proxy server software, which is widely used in the telecommunication industry or the content delivery networks or e-commerce," explained Jonathan Ahn, COO of WineSOFT, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Smart cities have the potential to change our lives at so many levels for citizens: less pollution, reduced parking obstacles, better health, education and more energy savings. Real-time data streaming and the Internet of Things (IoT) possess the power to turn this vision into a reality. However, most organizations today are building their data infrastructure to focus solely on addressing immediate business needs vs. a platform capable of quickly adapting emerging technologies to address future ...
Mobile device usage has increased exponentially during the past several years, as consumers rely on handhelds for everything from news and weather to banking and purchases. What can we expect in the next few years? The way in which we interact with our devices will fundamentally change, as businesses leverage Artificial Intelligence. We already see this taking shape as businesses leverage AI for cost savings and customer responsiveness. This trend will continue, as AI is used for more sophistica...
There is a huge demand for responsive, real-time mobile and web experiences, but current architectural patterns do not easily accommodate applications that respond to events in real time. Common solutions using message queues or HTTP long-polling quickly lead to resiliency, scalability and development velocity challenges. In his session at 21st Cloud Expo, Ryland Degnan, a Senior Software Engineer on the Netflix Edge Platform team, will discuss how by leveraging a reactive stream-based protocol,...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
Sanjeev Sharma Joins June 5-7, 2018 @DevOpsSummit at @Cloud Expo New York Faculty. Sanjeev Sharma is an internationally known DevOps and Cloud Transformation thought leader, technology executive, and author. Sanjeev's industry experience includes tenures as CTO, Technical Sales leader, and Cloud Architect leader. As an IBM Distinguished Engineer, Sanjeev is recognized at the highest levels of IBM's core of technical leaders.
Product connectivity goes hand and hand these days with increased use of personal data. New IoT devices are becoming more personalized than ever before. In his session at 22nd Cloud Expo | DXWorld Expo, Nicolas Fierro, CEO of MIMIR Blockchain Solutions, will discuss how in order to protect your data and privacy, IoT applications need to embrace Blockchain technology for a new level of product security never before seen - or needed.
The 22nd International Cloud Expo | 1st DXWorld Expo has announced that its Call for Papers is open. Cloud Expo | DXWorld Expo, to be held June 5-7, 2018, at the Javits Center in New York, NY, brings together Cloud Computing, Digital Transformation, Big Data, Internet of Things, DevOps, Machine Learning and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding busin...
Digital transformation is about embracing digital technologies into a company's culture to better connect with its customers, automate processes, create better tools, enter new markets, etc. Such a transformation requires continuous orchestration across teams and an environment based on open collaboration and daily experiments. In his session at 21st Cloud Expo, Alex Casalboni, Technical (Cloud) Evangelist at Cloud Academy, explored and discussed the most urgent unsolved challenges to achieve f...
SYS-CON Events announced today that Synametrics Technologies will exhibit at SYS-CON's 22nd International Cloud Expo®, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Synametrics Technologies is a privately held company based in Plainsboro, New Jersey that has been providing solutions for the developer community since 1997. Based on the success of its initial product offerings such as WinSQL, Xeams, SynaMan and Syncrify, Synametrics continues to create and hone inn...
Digital Transformation (DX) is not a "one-size-fits all" strategy. Each organization needs to develop its own unique, long-term DX plan. It must do so by realizing that we now live in a data-driven age, and that technologies such as Cloud Computing, Big Data, the IoT, Cognitive Computing, and Blockchain are only tools. In her general session at 21st Cloud Expo, Rebecca Wanta explained how the strategy must focus on DX and include a commitment from top management to create great IT jobs, monitor ...