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 764.2 Elements of SOAThis section describes briefly elements of service oriented architecture.1. Main elements – This section focuses on elements presented in the defitionprovided by Krafzig[47].2. Other elements – The second section presents other elements of SOA thatare not mentioned in the definition but they were identified during researches.3. Types of Services – While the first section describes the idea behind services,this section presents briefly types of services.4. Structure of a service – this section presents structure of a service4.2.1 Main elementsService — derives from business context of an organisation. Service can bedescribed as [59] “an asset that corresponds to real–world business activities orrecognisable business functions.” Service does not only provide functionality, italso consumes or consumes and provides functionality. A service should be discoverable(available through discovery mechanism like for instance service registry)and bound in run-time, however static bound is also possible . A service can bealso be characterized by some properties [42] ] such as performance, capacity, andreliability. Service is a complex entity and consists of Service Contract, Interfaceand Implementation [46].Service repository [46][31] —contains descriptions of services and providesall information required to access them. The information includes localization,provider, technical constrains, terms of usage, fees, service subscription and userregistration if the services are public. Repositories can be stored in databases tostore contract of descriptions for each service version. The database may storecontracts, description of each version of a service and some administrative data.The term repository is also interchanged in literature with registry. In fact bothterms are very similar and differ only in one aspect. Repository is a term usedduring design time, while registry is associated with runtime usage [31]Enterprise Service bus — Service Bus is also referred as Enterprise ServiceBus (ESB). The bus is a middleware concept that enables interaction betweendifferent applications [25].(Enterprise) Service Bus can be implemented as forinstance Enterprise Application Integration middleware [25] [13], brokering technology[13] or a platform specific component like WebShare application Server[13] [60]. In fact, ESB is a communication mechanism that performs followingactivities [59]:
Chapter 4. Service Oriented Architecture 771. Accepts information requests from service requesters.2. Consults a metadata registry to determine how to assemble the requestedinformation using known data services.3. Retrieves the data from one or more data service providers.4. Applies data transform rules using a data transformation service that removesduplicate data and converts the data that have been collected intothe format specified by the service contract.5. Returns the results to the service requester.Frontend —corresponds to an upper layer of a traditional application likeWeb page or a rich client[46]. Frontends are used to initialize a process and retrievea result. The initiation does not have to be invoked by end user. It canbe a long living process which invokes specific events in some circumstances likeperiodical events.4.2.2 Other elementsThe definition of SOA[46] does not mention about one more element of ServiceOriented Architecture, namely Service Inventory. This element is not obligatorybut it simplifies maintenance of large amount of services.Service Inventory [31] [46] – inventory is an independent element of thearchitecture and independently manages collection of services. The collectionscontain services important from point of view of the company.4.2.3 Types of servicesServices can be divided into following groups:1. Application Frontend – in general it does not have to be a service in termsof previously stated definition - it is rather a client of an application butit can also be other services like services from other company or a batchservice executing tasks periodically [46] .2. Basic Service[46] [31] – represents basic and stateless element of a domain.A basic service can be Data Centric Service or Logic Centric Services.(a) Data Centric Services – are responsible for maintaining only one maindata entity. The maintenance does not mean that a service executesonly CRUD operations - a service has to care also about locking mechanismand transactional management. To fulfill all his responsibilities,the service has to maintain database connection.
- Page 35 and 36: Chapter 2. Related Work 252. Applic
- Page 37 and 38: Chapter 2. Related Work 274. Mediat
- Page 39 and 40: Chapter 2. Related Work 292.3 Summa
- Page 41 and 42: Chapter 3. Architectural Patterns 3
- Page 43 and 44: Chapter 3. Architectural Patterns 3
- 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: 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 and 96: Chapter 4. Service Oriented Archite
- Page 97 and 98: 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
Chapter 4. <strong>Service</strong> <strong>Oriented</strong> Architecture 764.2 Elements <strong>of</strong> SOAThis section describes briefly elements <strong>of</strong> service oriented architecture.1. Main elements – This section focuses on elements presented in the defitionprovided by Krafzig[47].2. Other elements – The second section presents other elements <strong>of</strong> SOA thatare not mentioned in the definition but they were identified during researches.3. Types <strong>of</strong> <strong>Service</strong>s – While the first section describes the idea behind services,this section presents briefly types <strong>of</strong> services.4. Structure <strong>of</strong> a service – this section presents structure <strong>of</strong> a service4.2.1 Main elements<strong>Service</strong> — derives from business context <strong>of</strong> an organisation. <strong>Service</strong> can bedescribed as [59] “an asset that corresponds <strong>to</strong> real–world business activities orrecognisable business functions.” <strong>Service</strong> does not only provide functionality, italso consumes or consumes and provides functionality. A service should be discoverable(available through discovery mechanism like for instance service registry)and bound in run-time, however static bound is also possible . A service can bealso be characterized by some properties [42] ] such as performance, capacity, andreliability. <strong>Service</strong> is a complex entity and consists <strong>of</strong> <strong>Service</strong> Contract, Interfaceand Implementation [46].<strong>Service</strong> reposi<strong>to</strong>ry [46][31] —contains descriptions <strong>of</strong> services and providesall information required <strong>to</strong> access them. The information includes localization,provider, technical constrains, terms <strong>of</strong> usage, fees, service subscription and userregistration if the services are public. Reposi<strong>to</strong>ries can be s<strong>to</strong>red in databases <strong>to</strong>s<strong>to</strong>re contract <strong>of</strong> descriptions for each service version. The database may s<strong>to</strong>recontracts, description <strong>of</strong> each version <strong>of</strong> a service and some administrative data.The term reposi<strong>to</strong>ry is also interchanged in literature with registry. In fact bothterms are very similar and differ only in one aspect. Reposi<strong>to</strong>ry is a term usedduring design time, while registry is associated with runtime usage [31]Enterprise <strong>Service</strong> bus — <strong>Service</strong> Bus is also referred as Enterprise <strong>Service</strong>Bus (ESB). The bus is a middleware concept that enables interaction betweendifferent applications [25].(Enterprise) <strong>Service</strong> Bus can be implemented as forinstance Enterprise Application Integration middleware [25] [13], brokering technology[13] or a platform specific component like WebShare application Server[13] [60]. In fact, ESB is a communication mechanism that performs followingactivities [59]: