Migration of a Chosen Architectural Pattern to Service Oriented ...
Migration of a Chosen Architectural Pattern to Service Oriented ... Migration of a Chosen Architectural Pattern to Service Oriented ...
Chapter 4. Service Oriented Architecture 86Figure 4.2: Service Oriented Architecture on three levels of abstraction. Adoptedfrom [46]Despite all the benefits associated with more complex concepts of SOA, itshould be kept in mind that an architect should not introduce additional complexityif the system does not require it. The system should be enough complexto support desired objectives and not more.4.5 SOA VendorsIntroduction of SOA to a company is not an easy task. This difficultly hasbeen noticed by leading software developing companies, what resulted in a numberof supporting frameworks and developer’s suits. The solutions that havebeen proposed differ in scope of support but also in understanding of SOA, what(paradoxically) contributes to companies introducing SOA because SOA is vendorindependent and the diversity allows an architect to create more complex(and cheaper) solutions. List of SOA vendors is relatively long (see [15]) and isstill growing. Some vendors provide sophisticated solutions that allow creatingapplication from concept to detailed plan, while other vendors provide plugginsto IDEs. According to [5][80] IBM is one of the leading vendor in supportingSOA and has the highest market share, therefore, it is worth to outline brieflySOA IBM concept and supporting tools.4.5.1 IBM –Layers of abstractionHowever basic concepts of Service Oriented Architecture like service, ESB or orchestrationare very similar to presented in 4.1, the structure of SOA is slightlydifferent. It is said that: “Any problem in computer science can be solved by
Chapter 4. Service Oriented Architecture 87adding a layer of indirection” and IBM leverages this solution very well. Considerationof a system on different layers of abstraction helps to underline bothbusiness and technical aspects. According to IBM, a system should be consideredon five layers of abstraction during SOA analysis. Starting from the mostabstract enterprise level and ending on very precise object level (see figure 4.3).The layers and their role are following[13]:Enterprise layer – describes an enterprise on business model level. The modelconsists of processes, services (as activities) and enterprise data as well as relationshipbetween those elements.Process layer – Process layer consists of main processes which handle mainbusiness concern by composition and decomposition [83]. Composition createsbusiness services from underlying service layer, whereas decomposition decomposesexiting process into services.Service layer – Service layer contains services that expose technical and businessfunctionality of an application [13]. The services are independent and carryindividual tasks. Those services are also building blocks used by Process Layer.Component layer – On component layer, the system is considered as a set ofphysical components - building blocks of services. This layer is very importantbecause components that exist in more than one place are identified [13]. In resultthose components become potential candidates for becoming services or parts ofa service.Object layer – Object layer is the lowest modelled layer during analysis anddesign activities. However the name refers to objects -instances of classes - thelayer contains description of objects understood as classes characterised by operations,attributes and relationship between them [13].4.5.2 IBM – SOA Foundation SuiteSOA Foundation Suite by IBM is a set of SOA supporting tools. Very importantaspects of IBM solution are modularity which enables usage of only a subsetof all the tools and scalability that simplifies architecture modernization whena company grows [60].The tools support different aspects of SOA like ServiceDesign, Creation, Governance, Integration, Connectivity and Collaboration aswell as Service Security. A short characteristic of the tools supporting differentaspects of SOA is following:
- Page 45 and 46: Chapter 3. Architectural Patterns 3
- Page 47 and 48: Chapter 3. Architectural Patterns 3
- Page 49 and 50: Chapter 3. Architectural Patterns 3
- Page 51 and 52: Chapter 3. Architectural Patterns 4
- Page 53 and 54: Chapter 3. Architectural Patterns 4
- Page 55 and 56: Chapter 3. Architectural Patterns 4
- Page 57 and 58: Chapter 3. Architectural Patterns 4
- Page 59 and 60: Chapter 3. Architectural Patterns 4
- Page 61 and 62: Chapter 3. Architectural Patterns 5
- Page 63 and 64: Chapter 3. Architectural Patterns 5
- Page 65 and 66: Chapter 3. Architectural Patterns 5
- Page 67 and 68: Chapter 3. Architectural Patterns 5
- Page 69 and 70: Chapter 3. Architectural Patterns 5
- Page 71 and 72: Chapter 3. Architectural Patterns 6
- Page 73 and 74: Chapter 3. Architectural Patterns 6
- Page 75 and 76: Chapter 3. Architectural Patterns 6
- Page 77 and 78: Chapter 3. Architectural Patterns 6
- Page 79 and 80: Chapter 3. Architectural Patterns 6
- Page 81 and 82: Chapter 3. Architectural Patterns 7
- Page 83 and 84: Chapter 3. Architectural Patterns 7
- Page 85 and 86: Chapter 4. Service Oriented Archite
- Page 87 and 88: Chapter 4. Service Oriented Archite
- Page 89 and 90: Chapter 4. Service Oriented Archite
- Page 91 and 92: Chapter 4. Service Oriented Archite
- Page 93 and 94: Chapter 4. Service Oriented Archite
- Page 95: Chapter 4. Service Oriented Archite
- Page 99 and 100: Chapter 4. Service Oriented Archite
- Page 101 and 102: Chapter 4. Service Oriented Archite
- Page 103 and 104: Chapter 4. Service Oriented Archite
- Page 105 and 106: Chapter 4. Service Oriented Archite
- Page 107 and 108: Chapter 4. Service Oriented Archite
- Page 109 and 110: Chapter 4. Service Oriented Archite
- Page 111 and 112: Chapter 4. Service Oriented Archite
- Page 113 and 114: Chapter 5. Guidelines 1035.1 Patter
- Page 115 and 116: Chapter 5. Guidelines 105Descriptio
- Page 117 and 118: Chapter 5. Guidelines 107Result Con
- Page 119 and 120: Chapter 5. Guidelines 109ContextAn
- Page 121 and 122: Chapter 5. Guidelines 111Result Con
- Page 123 and 124: Chapter 5. Guidelines 113System’s
- Page 125 and 126: Chapter 5. Guidelines 115ViewSchema
- Page 127 and 128: Chapter 5. Guidelines 117ViewViewCo
- Page 129 and 130: Chapter 5. Guidelines 119ViewViewCo
- Page 131 and 132: Chapter 5. Guidelines 121ViewViewPr
- Page 133 and 134: Chapter 5. Guidelines 123FrontendFr
- Page 135 and 136: Chapter 5. Guidelines 125complicati
- Page 137 and 138: Chapter 5. Guidelines 127Concluding
- Page 139 and 140: Chapter 5. Guidelines 129UsecasesTh
- Page 141 and 142: Chapter 5. Guidelines 131puter (ext
- Page 143 and 144: Chapter 5. Guidelines 133Group 3 ma
- Page 145 and 146: Chapter 5. Guidelines 135Output: Du
Chapter 4. <strong>Service</strong> <strong>Oriented</strong> Architecture 87adding a layer <strong>of</strong> indirection” and IBM leverages this solution very well. Consideration<strong>of</strong> a system on different layers <strong>of</strong> abstraction helps <strong>to</strong> underline bothbusiness and technical aspects. According <strong>to</strong> IBM, a system should be consideredon five layers <strong>of</strong> abstraction during SOA analysis. Starting from the mostabstract enterprise level and ending on very precise object level (see figure 4.3).The layers and their role are following[13]:Enterprise layer – describes an enterprise on business model level. The modelconsists <strong>of</strong> processes, services (as activities) and enterprise data as well as relationshipbetween those elements.Process layer – Process layer consists <strong>of</strong> main processes which handle mainbusiness concern by composition and decomposition [83]. Composition createsbusiness services from underlying service layer, whereas decomposition decomposesexiting process in<strong>to</strong> services.<strong>Service</strong> layer – <strong>Service</strong> layer contains services that expose technical and businessfunctionality <strong>of</strong> an application [13]. The services are independent and carryindividual tasks. Those services are also building blocks used by Process Layer.Component layer – On component layer, the system is considered as a set <strong>of</strong>physical components - building blocks <strong>of</strong> services. This layer is very importantbecause components that exist in more than one place are identified [13]. In resultthose components become potential candidates for becoming services or parts <strong>of</strong>a service.Object layer – Object layer is the lowest modelled layer during analysis anddesign activities. However the name refers <strong>to</strong> objects -instances <strong>of</strong> classes - thelayer contains description <strong>of</strong> objects unders<strong>to</strong>od as classes characterised by operations,attributes and relationship between them [13].4.5.2 IBM – SOA Foundation SuiteSOA Foundation Suite by IBM is a set <strong>of</strong> SOA supporting <strong>to</strong>ols. Very importantaspects <strong>of</strong> IBM solution are modularity which enables usage <strong>of</strong> only a subset<strong>of</strong> all the <strong>to</strong>ols and scalability that simplifies architecture modernization whena company grows [60].The <strong>to</strong>ols support different aspects <strong>of</strong> SOA like <strong>Service</strong>Design, Creation, Governance, Integration, Connectivity and Collaboration aswell as <strong>Service</strong> Security. A short characteristic <strong>of</strong> the <strong>to</strong>ols supporting differentaspects <strong>of</strong> SOA is following: