Applications of the divide-and-conquer principle mention in the 1st video
On non IT application of the concept there are other social and political, and economical applications of the principle that I have come across. For example in the political sphere, especially in the democratic systems we have a spit on political parties with members who are inclined to the political parties’ policies and ideologies and when the winning party gets into parliament they rule aggressively over the others even though they all want to serve the people and purposes regardless. In military, when the United States invaded Iraq in 2003 to remove the dictatorship there, one of the first thing they did was dismantle the army and their armoury so when the army become fragmented and weak the US were able to spread their rule over the country. Also in the colonial era during the 1800s in the Pacific where I am from originally the colonisers used religion and educated a few indigenous people and then commanded them to organise the rest of the people so that they can control the others.
On the IT front from reading the literature the divide conquer is a complex algorithm paradigm that is used to solve efficient algorithms of all kinds. The divide and conquer rule can be a tool for solving conceptually difficult problems. It performs a way of breaking the problem into sub problems and of combining sub problems to original problems. So dividing and conquer it reduces the problem. The divide and conquer algorithms also make efficient use of memory caches – when a sub-problem is small enough it an all its sub-problems can, in principle be solved with the cache. The same advantage exists with regards to hierarchical storage systems as well as for multi-level cache systems
The core building block of an SOA
According to informIT (2016), the basic construct or building block of SOA is a service. The development or evolution of software engineering has overtime gone from procedural to structure to object oriented to component-based and now service development. Each evolution builds on the previous as illustrated by figure 1 below
Fig 1: Levels of abstraction
Source: InformIT (2016)
What a service is
A service being identified as the fundamental block of an SOA is a logical self-contained business function which serves in the SOA through the following attributes:
Stateless: services of an SOA neither remembers the last thing they were asked to do nor worry about the next thing as services are not dependent on the context or state of other services but only on their functionality. For example on the world wide web where each request from a user or web page or URL results in the requested pages being served but not remembered later by the server when requested later.
Discoverable: A service must be discovered by potential consumers of the service. Services published are exposed by service providers in the SOA directory to be discovered and utilised by consumers
Self-describing: The SOA service interface describes, exposes and provides a point of entry to the service. The interface allows the user to discover and connect to the service without requiring the consumer to understand the technical implementation details.
Composable: SOA services are, by nature, composite. They can be composed from other services and in turn can be combined with other services produce new solutions for business.
Loose coupling: allows the concerns of application features to be separated into independent pieces. This separation of concern provides a mechanism for one service to call another without being tightly bound to it. For instance an account service has open account, authorisation and audit features representing delineations of responsibilities and three separations of concerns.
Governed policy: services are built by contract. Relationships between services are built on SLAs (Service-level agreements) promoting process consistency and reducing complexity
.
Why is the generic model from the first video fits well to an SOA like the one from IBM?
The generic model which is a structured layers based on the divide-and-conquer principle in with a bottom up functionality approach. More similarly is the IBM SOA solution stack with five functional layers of with a bottom up approach. As per the video two of our lecture we see observe that both models operate on a structured layers with functional bottom up oriented.
Fig 2: SOA IBM stack
Source: IBM
What SOA has to do with business processes?
Business processes is a choreography or holistic approach which represent the backbone of the business. This dynamic side of the business is realised through the business processes gauging from the literature on SOA and business processes. Again looking at the IBM SOA stack a service orientation can be realised by service compositions which may be interim as and orchestration or choreography and the ability to insert human intervention and running transactions.
What ITIL can do as a tool for SOA management and governance?
ITIL is about creating IT operations and perspective for enterprises ITIL can expose the traditional IT management processes for monitoring and managing SOA applications. To provide an infrastructure capable of handling complex interactions of its services, SOA needs something like ITIL underneath which has ITIL and SOA effort underway.
ITIL enables the complete process to create the service results, to determine the role and responsibility in each process, to complete the rules in each process, and to complete the rules in each process, and to complete the process in overall lifecycle service governance. SOA governance consists of five steps:
- Planning
- Designing
- Implementing
- Controlling
- Evaluating
These elements and phases are mapped with service strategy, design, transition, operation and continual service improvement.
References:
By Kerrie Holley and Ali Arsanjani.
(n.d.). Informit. Retrieved October 03, 2016, from
http://www.informit.com/articles/article.aspx?p=1663690
By clicking Submit, you agree to
the developerWorks terms of use. (n.d.). SOA terminology overview, Part 1:
Service, architecture, governance, and business terms. Retrieved October 03,
2016, from http://www.ibm.com/developerworks/library/ws-soa-term1/
Divide and conquer algorithms.
(n.d.). Retrieved October 03, 2016, from
https://en.wikipedia.org/wiki/Divide_and_conquer_algorithms
Gruman, G. (2007, March 30). The
ITIL-SOA Connection. Retrieved October 03, 2016, from
http://www.cio.com/article/2439399/itil/the-itil-soa-connection.html
SOA Reference Architecture
Technical Standard : Business Process Layer. (n.d.). Retrieved October 03,
2016, from https://www.opengroup.org/soa/source-book/soa_refarch/busproc.htm
Topic, B. (n.d.). IEEE Xplore
Document – The mapping of interconnected SOA governance and ITIL v3.0. Retrieved
October 03, 2016, from http://ieeexplore.ieee.org/document/6021574/?denied