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 ...

12.07.2015 Views

Chapter 3. Architectural Patterns 58Client Implicit Mechnism ServerFigure 3.24: Example usage of Implicit Invocation pattern3.2.2 Methods of patterns categorisationLiterature presents several different methods of pattern categorisations [8][38]which are meant to underline specific aspects of patterns like their structure,properties or applications. The reason why particular aspects are underlinedmay also vary in addition, may include for instance justification for architectureselection e.g. highly adaptive architectures adaptation. Source literature forarchitectural pattern section provides several different ways of pattern categorisation.Buschmann [21] presents following approaches:1. Domain –This categorisation groups all patterns that are often used in aspecific domain. An example domain can be for instance: scientific application.Most of those scientific applications need a lot of disc space toshare common data and a high performance algorithm to do calculations.In many cases, algorithms are distributed over many computers that haveto work together. This set of requirements and constrains can impose a setof most adequate patterns.2. Partition –Groups all the patterns that present a system as a stack of tiers.For instance, there can be a business tier and an integration tier. Integrationtier contains all patterns that enable easy integration and adaptation.Business tier groups patterns that improve maintainability and extendability.3. Intent –This category groups patterns in very narrow and high–specializedgroups. Each group consists of patterns that solve the same problem or helpto reduce it. For instance Intent may enclose a group of patterns that solvea problem of system distribution or a group that collects only patterns thatenables easy exchange of data.Presented categorisations of patterns start from very general idea of a domainand go deeper through grouping of pattern having structure presented as a stackof tiers. Finally, patterns having the same application are put together.The second source [38] provides only one categorisation, namely categorisationby domain of application. This approach is in fact a clarification of the domain

Chapter 3. Architectural Patterns 59category presented by F. Bushamnn. Author distinguishes seven main domainsand allocates patterns to each of them. If allocation fails then pattern is treatedas ’Other’. The domains are following:1. Embedded Systems –Systems dedicated for special machines. The machinesmay have also a dedicated hardware what may set additional limitations.2. Dataflow and Production –This category enclose systems designed for processmonitoring and logistic.3. Information and Enterprise Systems –Enterprise systems that have to manageand present data.4. Web–based Systems –This category includes all the systems that are designedfor web interaction.5. Case and Related Developer Tools –This category contains all the applicationsthat help developers.6. Games –The category contains patterns applied in computer games.7. Scientific Approaches –Include all the patterns that do support calculationsfor scientific purpose.However the descriptions are not to detailed, the names of domains explain littlebit more. An interesting fact is that there is no category that in opposite to“Others” could group solutions that do not match to only one category. Thosepatterns could be assigned to category “MIXED”. The categorisation by domainsassumes that each pattern can belong to only one domain. An example of mixbetween domains can be a mix of Web based and Enterprise system because suchsystems are not unusual.The last literature source presents different perception of pattern categorisation.Author presents categorisation by View, which in fact is a mixture ofconcept of Intent presented by F.Bushman[21] and an approach based on structureof patterns. P. Avgeriou and U. Zdun distinguish following categories [8]:1. Layered View – In this approach architecture is presented as a complexentity that can be decomposed into interacting parts. A special emphasisis laid on description of particular parts and their mutual interaction.The view also requires strong decoupling of parts of pattern and takes intoaccount attributes of the pattern like scalability and modifiability.2. Data Flow View – The next view gathers data flow related patterns. Thepatterns are composed from elements performing transformations, carryingdata streams and connections between them. Essential attributes aremodifiability and integrity.

Chapter 3. <strong>Architectural</strong> <strong>Pattern</strong>s 58Client Implicit Mechnism ServerFigure 3.24: Example usage <strong>of</strong> Implicit Invocation pattern3.2.2 Methods <strong>of</strong> patterns categorisationLiterature presents several different methods <strong>of</strong> pattern categorisations [8][38]which are meant <strong>to</strong> underline specific aspects <strong>of</strong> patterns like their structure,properties or applications. The reason why particular aspects are underlinedmay also vary in addition, may include for instance justification for architectureselection e.g. highly adaptive architectures adaptation. Source literature forarchitectural pattern section provides several different ways <strong>of</strong> pattern categorisation.Buschmann [21] presents following approaches:1. Domain –This categorisation groups all patterns that are <strong>of</strong>ten used in aspecific domain. An example domain can be for instance: scientific application.Most <strong>of</strong> those scientific applications need a lot <strong>of</strong> disc space <strong>to</strong>share common data and a high performance algorithm <strong>to</strong> do calculations.In many cases, algorithms are distributed over many computers that have<strong>to</strong> work <strong>to</strong>gether. This set <strong>of</strong> requirements and constrains can impose a set<strong>of</strong> most adequate patterns.2. Partition –Groups all the patterns that present a system as a stack <strong>of</strong> tiers.For instance, there can be a business tier and an integration tier. Integrationtier contains all patterns that enable easy integration and adaptation.Business tier groups patterns that improve maintainability and extendability.3. Intent –This category groups patterns in very narrow and high–specializedgroups. Each group consists <strong>of</strong> patterns that solve the same problem or help<strong>to</strong> reduce it. For instance Intent may enclose a group <strong>of</strong> patterns that solvea problem <strong>of</strong> system distribution or a group that collects only patterns thatenables easy exchange <strong>of</strong> data.Presented categorisations <strong>of</strong> patterns start from very general idea <strong>of</strong> a domainand go deeper through grouping <strong>of</strong> pattern having structure presented as a stack<strong>of</strong> tiers. Finally, patterns having the same application are put <strong>to</strong>gether.The second source [38] provides only one categorisation, namely categorisationby domain <strong>of</strong> application. This approach is in fact a clarification <strong>of</strong> the domain

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!