SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
SOA Architectural Patterns

         Dr Matjaz B. Juric
          Java Champion
       SOA Competence Centre
       University of Ljubljana, FRI
              www.soa.si
             www.cloud.si
Content
 SOA Anti Patterns
 SOA Patterns
 SOMA
SOA Patterns
 The objective of SOA patterns is to enable
 loosely-coupled standards-based
 architecture
   Patterns assure flexibility, extendibility, and
   changeability of applications.


 Anti-patterns show bad practices, tight-
 coupling and other non-advisable
 techniques.
Key Principles for Service Dev.
 Service boundaries are explicit
 Services are autonomous
 Services share schemas and interfaces,
 not classes
 Compatibility of services is determined
 upon policies
Typical SOA Architecture
   Message/                   End-points
              Process
   document
                        Message




                        Transfor
                         mation        Service
               BRMS
                                    implementation
Antipattern: Point-to-Point
 How do services connect?
 How do processes and services connect?
 Point-to-point connections:
   Possible in SOA
   Bad approach!
 Solution:
   ESB
   Registry and repository (UDDI)
Antipattern: Shiny Nickel
 Too much focus on SOA products
 Introduction of newest “buzz-words”,
 without clear focus of their purpose
 Focus on products, instead of architecture

 Solution: design of the overall “Enterprise
 Architecture” and the definition of the SOA
 roadmap
Antipattern: Hair Split
 Breaking the architecture into two parts:
   Processes,
   Services.
 How to implement new functionalities?
   Services or processes?
   Often the answer is not obvious at first sight.
 Solution: Focus has to be on business
 services, not on implementation
 technologies
Typical SOA Architecture
   Message/                   Endpoints
              Process
   document
                        Msg




                        XSLT
                                          Service
               BRMS
                                           Impl.
Antipattern: Architectural      Stovepipe
  IT architect tries to define the overall
  architecture in advance.
    Architecture should answer all today’s and
    feature requirements
  Too much time is invested into architecture
  Projects cannot wait and bypass it
  Solution: IT architect makes the high-level
  architectural design in a rational amount of
  time.
Antipattern: Nobody Home
 Aka “B2IT” and “Peoples Republic IT”
 Business services are developed under the
 assumption that IT understands business
 needs, required services and expected
 results.
 Such services usually do not fulfil business
 requirements.
 Solution: IT/business alignment using
 request/process modelling
Antipattern: Too many Cooks
 Developing more than one service with
 similar functionality
 Developers do not check whether similar
 services already exist
 System entropy is increasing, reuse is
 endangered
 Solution: well defined development
 process, registry/repository, well defined
 SOA governance
Antipattern: A Million Services
 Very many services are developed
   “Everything should become a service.”
 All services are on the same tier, there is
 no well-defined architecture, no registry
 Consequence: nobody is familiar with the
 services
 Solution: Categorization of services,
 distinction between business and
 technology services, classification, well-
 defined procedure for service identification
Antipattern: Über Service
 Development of very few services with
 large number of operations
 Developers add new operations into
 services without control and without good
 consideration

 Solution: sound design on overall
 architecture and services, identification of
 services and their operations
Antipattern: Chatty Interface
 Services require several operation calls to
 fulfil a request
 Potential danger to develop state-full
 services
   Behaviour of an operation depends on the
   result of the previous operation
 State-full services are problematic:
   Type put coordination logic into the client
   They are less scalable
Antipattern: Loosey-Goosey
 Service interface receives or returns
 specific XML (according to XSD)
 We add extensibility as:
   <ext name=“name”>value</ext>
   Or as XML Any element
 This results in implicit service behaviour
 Implicit service behaviour leads to fragile
 architecture
Antipattern: CRUDy Interface
 We develop services with the following
 operations: Create, Read, Update, Delete
 Using such interface we have developed
 an SQL gateway to the database
 Such services break the loosely-coupled
 concept
   Applications become directly related to the
   database schema
SOA Patterns
                  Composite
                   Patterns
      Process                  Integration
      Patterns                  Patterns


          Service              ESB
          Patterns            Patterns


     Governance               Business Rules
      Patterns                   Patterns
SOA Patterns
                  Composite
                   Patterns
      Process                  Integration
      Patterns                  Patterns


          Service              ESB
          Patterns            Patterns


     Governance               Business Rules
      Patterns                   Patterns
Pattern: Agnostic Context
 How to develop a service, which is useful
 in different contexts
 How to position service as a useful
 resource in the organisation
 Combining agnostic and non-agnostic logic
 within a single service reduces reusability

 Solution: partitioning between services
Pattern: Service Decomposition
 How to change service granularity once it
 has been implemented and deployed

 Make a coarse-grained service more fine-
 grained
 Make a fine-grained service more coarse-
 grained
Pattern: Service Normalization
 Prevent and remove redundant business
 logic in services
 Functional overlapping should be
 addressed in the architectural design
 phase
 Solution: collective modelling of service
 interfaces before their implementation
 Challenge: how to remove redundancy in
 already deployed services?
Pattern: Logic Centralization
 How to prevent misuse of redundant
 business logic in services

 Solution: agnostic reusable services are
 positioned as primary contact endpoints for
 specific business logic
Contract Denormalization
 How to add operations to a service
 interface with partially overlapping
 functionalities
   Without negative impact on the service
 We expose functionalities on different
 levels of granularity
 We increase flexibility
 We provide support for different types of
 clients.
Pattern: Concurrent Contracts
 How to satisfy the requirements of different
 clients while keeping the appropriate level
 of abstraction

 Pattern shows how to define multiple
 interfaces for the same service
 implementation
 Each interface can evolve independently
 through time
Pattern: Canonical Schema
 How to develop services that will not
 require schema transformations
   Increased interoperability


 Solutions:
   Use of standard approaches for schema
   design
   Use of common schemas through various
   services
Pattern: Type Decoupling
 Types in the interface and the
 implementation should not be the same:
   Internal implementation
   Interface = outside view
   Interface types should not be identical to
   internal implementation types
 Internal type can change
 If used in the interface, we will break the
 contract (interface)
Pattern: Security Centralization
 How to abstract security-related logic
 How to centralize logic
 How to maintain it centrally

 Solution: common centralized framework
 for security
   Use of vendor tools
SOA Patterns
                  Composite
                   Patterns
      Process                  Integration
      Patterns                  Patterns


          Service              ESB
          Patterns            Patterns


     Governance               Business Rules
      Patterns                   Patterns
Pattern: Enterprise Inventory
 Defines approach for service registry and
 repository establishment and use
 Assures:
   Unified list of available services
   Reuse
   Service lifecycle management
   Service governance (compliance to standards)
   Service ownership
   …
Pattern: Domain Inventory
 Defines approach to divide the
 organization into domains and
 development of services within domains
 Domain repository is usually aligned with
 the business domain
 Domain services are based on
 common/shared design and governance
 principles
Pattern: Service Layers
 Defies how to organize services within
 registry/repository into logical groups
 Defines how to create logical groups
 How to add clasifications to the gropus
 How to search within the groups in an
 efficient manner
SOA Patterns
                  Composite
                   Patterns
      Process                  Integration
      Patterns                  Patterns


          Service              ESB
          Patterns            Patterns


     Governance               Business Rules
      Patterns                   Patterns
Process Patterns
 Electronic Commerce
   Web-up, Enterprise-out, …
 e-Marketplace
   General e-Marketplace, Sell-Side Hub, …
 Account Access
 Domain specific reference models:
   eTOM (NGOSS/TMF) for telcos
   DAIS/OPC Unified Architecture for power dist.
   …
IBM SOMA
 SOMA (Service-Oriented Modelling and
 Architecture) Methodology
 Focused on service design

 Related to RUP
   Rational Unified Process
 Supported by Rational tools
   IBM Rational Method Composer
IBM SOMA
Conclusion
 SOA patterns can help to design and
 develop better SOA architectures and
 applications
 SOA antipatterns demonstrate approaches
 which are common but not advisable
 Designing sound SOA requires a lot of
 knowledge and skills and is not easy
 More SOA patters are available and should
 be studied and applied carefully
HVALA ZA POZORNOST!

     e-naslov: http://www.cloud.si
      e-naslov: http://www.soa.si
        e-pošta: info@cloud.si


                                 38

Weitere ähnliche Inhalte

Was ist angesagt?

SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentationerichleipold
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soasmithaps4
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architectureAmit Ranjan
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureDATA Inc.
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentalsabhi1112
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Biniam Asnake
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)prksh89
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBNahser Bakht
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOAWSO2
 
Oracle BPEL Presentation
Oracle BPEL PresentationOracle BPEL Presentation
Oracle BPEL Presentationshub54
 

Was ist angesagt? (20)

SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
Soa bpel-123
Soa bpel-123Soa bpel-123
Soa bpel-123
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architecture
 
ESB What it is?
ESB What it is?ESB What it is?
ESB What it is?
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
SOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented ArchitectureSOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented Architecture
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Introduction to SOA
Introduction to SOAIntroduction to SOA
Introduction to SOA
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSB
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
Oracle BPEL Presentation
Oracle BPEL PresentationOracle BPEL Presentation
Oracle BPEL Presentation
 
Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 

Andere mochten auch

SOA Reference Architecture
SOA Reference ArchitectureSOA Reference Architecture
SOA Reference ArchitectureRajan Ramanujam
 
SOA for Enterprise Architecture
SOA for Enterprise ArchitectureSOA for Enterprise Architecture
SOA for Enterprise ArchitectureYan Zhao
 
introduction to SOA
introduction to SOAintroduction to SOA
introduction to SOAplaciabell
 
Effectiveness Of Service Oriented Architecture In Enterprise Architecture F...
Effectiveness Of Service Oriented Architecture In Enterprise Architecture   F...Effectiveness Of Service Oriented Architecture In Enterprise Architecture   F...
Effectiveness Of Service Oriented Architecture In Enterprise Architecture F...mdfachowdhury
 
Implementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureImplementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureLeo Shuster
 
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, SalesforceHBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, SalesforceCloudera, Inc.
 
Negotiating Skills
Negotiating SkillsNegotiating Skills
Negotiating SkillsAshit Jain
 

Andere mochten auch (10)

SOA Reference Architecture
SOA Reference ArchitectureSOA Reference Architecture
SOA Reference Architecture
 
SOA for Enterprise Architecture
SOA for Enterprise ArchitectureSOA for Enterprise Architecture
SOA for Enterprise Architecture
 
introduction to SOA
introduction to SOAintroduction to SOA
introduction to SOA
 
Effectiveness Of Service Oriented Architecture In Enterprise Architecture F...
Effectiveness Of Service Oriented Architecture In Enterprise Architecture   F...Effectiveness Of Service Oriented Architecture In Enterprise Architecture   F...
Effectiveness Of Service Oriented Architecture In Enterprise Architecture F...
 
Sca
ScaSca
Sca
 
Implementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureImplementing Effective Enterprise Architecture
Implementing Effective Enterprise Architecture
 
Data Driven Personas
Data Driven PersonasData Driven Personas
Data Driven Personas
 
SOA Maturity Models
SOA Maturity ModelsSOA Maturity Models
SOA Maturity Models
 
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, SalesforceHBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
 
Negotiating Skills
Negotiating SkillsNegotiating Skills
Negotiating Skills
 

Ähnlich wie SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)

'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...IIBA_Latvia_Chapter
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA PresentationMaulik Parikh
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentationmgp1560
 
Socsig Frye Clohesy Presentation
Socsig Frye Clohesy PresentationSocsig Frye Clohesy Presentation
Socsig Frye Clohesy Presentationbclohesy
 
Socsig Frye Clohesy Presentation
Socsig Frye Clohesy PresentationSocsig Frye Clohesy Presentation
Socsig Frye Clohesy PresentationAlan Frye
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a serviciosbrizna39
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentationpavan nani
 
Successful Approaches To Achieving Real Results With Soa
Successful Approaches To Achieving Real Results With SoaSuccessful Approaches To Achieving Real Results With Soa
Successful Approaches To Achieving Real Results With Soastevendearborn
 
Architecting Your Enterprise
Architecting Your EnterpriseArchitecting Your Enterprise
Architecting Your EnterpriseEd Seidewitz
 
Service Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesService Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesPankaj Saharan
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And DesignRody Middelkoop
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Mazhar Ishaq Khokhar
 
Experiment on BPM and SOA transformations
Experiment on BPM and SOA transformationsExperiment on BPM and SOA transformations
Experiment on BPM and SOA transformationsAkira Tanaka
 

Ähnlich wie SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani) (20)

soa ppt v7.ppt
soa ppt v7.pptsoa ppt v7.ppt
soa ppt v7.ppt
 
SOA Course - Next Generation
SOA Course - Next GenerationSOA Course - Next Generation
SOA Course - Next Generation
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA Presentation
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentation
 
Socsig Frye Clohesy Presentation
Socsig Frye Clohesy PresentationSocsig Frye Clohesy Presentation
Socsig Frye Clohesy Presentation
 
Socsig Frye Clohesy Presentation
Socsig Frye Clohesy PresentationSocsig Frye Clohesy Presentation
Socsig Frye Clohesy Presentation
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a servicios
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentation
 
Basic concepts of soa
Basic concepts of soaBasic concepts of soa
Basic concepts of soa
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
 
Successful Approaches To Achieving Real Results With Soa
Successful Approaches To Achieving Real Results With SoaSuccessful Approaches To Achieving Real Results With Soa
Successful Approaches To Achieving Real Results With Soa
 
Architecting Your Enterprise
Architecting Your EnterpriseArchitecting Your Enterprise
Architecting Your Enterprise
 
Services oriented architecture
Services oriented architectureServices oriented architecture
Services oriented architecture
 
Service Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesService Oriented & Model Driven Architectures
Service Oriented & Model Driven Architectures
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And Design
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Experiment on BPM and SOA transformations
Experiment on BPM and SOA transformationsExperiment on BPM and SOA transformations
Experiment on BPM and SOA transformations
 

Mehr von OpenBlend society

Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)OpenBlend society
 
Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)
Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)
Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)OpenBlend society
 
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)OpenBlend society
 
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...OpenBlend society
 
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)OpenBlend society
 
How to cuddle your EJBs, Carlo de Wolf
How to cuddle your EJBs, Carlo de WolfHow to cuddle your EJBs, Carlo de Wolf
How to cuddle your EJBs, Carlo de WolfOpenBlend society
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyOpenBlend society
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OpenBlend society
 
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure PolutnikTackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure PolutnikOpenBlend society
 
Android Up Close, Martin Sonc
Android Up Close, Martin SoncAndroid Up Close, Martin Sonc
Android Up Close, Martin SoncOpenBlend society
 
Successful Application Lifecycle Management in heterogeneous environments, Ma...
Successful Application Lifecycle Management in heterogeneous environments, Ma...Successful Application Lifecycle Management in heterogeneous environments, Ma...
Successful Application Lifecycle Management in heterogeneous environments, Ma...OpenBlend society
 
Becoming an Open Source developer, Dimitris Andreadis
Becoming an Open Source developer, Dimitris AndreadisBecoming an Open Source developer, Dimitris Andreadis
Becoming an Open Source developer, Dimitris AndreadisOpenBlend society
 

Mehr von OpenBlend society (12)

Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
 
Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)
Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)
Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)
 
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
 
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
 
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
 
How to cuddle your EJBs, Carlo de Wolf
How to cuddle your EJBs, Carlo de WolfHow to cuddle your EJBs, Carlo de Wolf
How to cuddle your EJBs, Carlo de Wolf
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure PolutnikTackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
 
Android Up Close, Martin Sonc
Android Up Close, Martin SoncAndroid Up Close, Martin Sonc
Android Up Close, Martin Sonc
 
Successful Application Lifecycle Management in heterogeneous environments, Ma...
Successful Application Lifecycle Management in heterogeneous environments, Ma...Successful Application Lifecycle Management in heterogeneous environments, Ma...
Successful Application Lifecycle Management in heterogeneous environments, Ma...
 
Becoming an Open Source developer, Dimitris Andreadis
Becoming an Open Source developer, Dimitris AndreadisBecoming an Open Source developer, Dimitris Andreadis
Becoming an Open Source developer, Dimitris Andreadis
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)

  • 1. SOA Architectural Patterns Dr Matjaz B. Juric Java Champion SOA Competence Centre University of Ljubljana, FRI www.soa.si www.cloud.si
  • 2. Content SOA Anti Patterns SOA Patterns SOMA
  • 3. SOA Patterns The objective of SOA patterns is to enable loosely-coupled standards-based architecture Patterns assure flexibility, extendibility, and changeability of applications. Anti-patterns show bad practices, tight- coupling and other non-advisable techniques.
  • 4. Key Principles for Service Dev. Service boundaries are explicit Services are autonomous Services share schemas and interfaces, not classes Compatibility of services is determined upon policies
  • 5. Typical SOA Architecture Message/ End-points Process document Message Transfor mation Service BRMS implementation
  • 6. Antipattern: Point-to-Point How do services connect? How do processes and services connect? Point-to-point connections: Possible in SOA Bad approach! Solution: ESB Registry and repository (UDDI)
  • 7. Antipattern: Shiny Nickel Too much focus on SOA products Introduction of newest “buzz-words”, without clear focus of their purpose Focus on products, instead of architecture Solution: design of the overall “Enterprise Architecture” and the definition of the SOA roadmap
  • 8. Antipattern: Hair Split Breaking the architecture into two parts: Processes, Services. How to implement new functionalities? Services or processes? Often the answer is not obvious at first sight. Solution: Focus has to be on business services, not on implementation technologies
  • 9. Typical SOA Architecture Message/ Endpoints Process document Msg XSLT Service BRMS Impl.
  • 10. Antipattern: Architectural Stovepipe IT architect tries to define the overall architecture in advance. Architecture should answer all today’s and feature requirements Too much time is invested into architecture Projects cannot wait and bypass it Solution: IT architect makes the high-level architectural design in a rational amount of time.
  • 11. Antipattern: Nobody Home Aka “B2IT” and “Peoples Republic IT” Business services are developed under the assumption that IT understands business needs, required services and expected results. Such services usually do not fulfil business requirements. Solution: IT/business alignment using request/process modelling
  • 12. Antipattern: Too many Cooks Developing more than one service with similar functionality Developers do not check whether similar services already exist System entropy is increasing, reuse is endangered Solution: well defined development process, registry/repository, well defined SOA governance
  • 13. Antipattern: A Million Services Very many services are developed “Everything should become a service.” All services are on the same tier, there is no well-defined architecture, no registry Consequence: nobody is familiar with the services Solution: Categorization of services, distinction between business and technology services, classification, well- defined procedure for service identification
  • 14. Antipattern: Über Service Development of very few services with large number of operations Developers add new operations into services without control and without good consideration Solution: sound design on overall architecture and services, identification of services and their operations
  • 15. Antipattern: Chatty Interface Services require several operation calls to fulfil a request Potential danger to develop state-full services Behaviour of an operation depends on the result of the previous operation State-full services are problematic: Type put coordination logic into the client They are less scalable
  • 16. Antipattern: Loosey-Goosey Service interface receives or returns specific XML (according to XSD) We add extensibility as: <ext name=“name”>value</ext> Or as XML Any element This results in implicit service behaviour Implicit service behaviour leads to fragile architecture
  • 17. Antipattern: CRUDy Interface We develop services with the following operations: Create, Read, Update, Delete Using such interface we have developed an SQL gateway to the database Such services break the loosely-coupled concept Applications become directly related to the database schema
  • 18. SOA Patterns Composite Patterns Process Integration Patterns Patterns Service ESB Patterns Patterns Governance Business Rules Patterns Patterns
  • 19. SOA Patterns Composite Patterns Process Integration Patterns Patterns Service ESB Patterns Patterns Governance Business Rules Patterns Patterns
  • 20. Pattern: Agnostic Context How to develop a service, which is useful in different contexts How to position service as a useful resource in the organisation Combining agnostic and non-agnostic logic within a single service reduces reusability Solution: partitioning between services
  • 21. Pattern: Service Decomposition How to change service granularity once it has been implemented and deployed Make a coarse-grained service more fine- grained Make a fine-grained service more coarse- grained
  • 22. Pattern: Service Normalization Prevent and remove redundant business logic in services Functional overlapping should be addressed in the architectural design phase Solution: collective modelling of service interfaces before their implementation Challenge: how to remove redundancy in already deployed services?
  • 23. Pattern: Logic Centralization How to prevent misuse of redundant business logic in services Solution: agnostic reusable services are positioned as primary contact endpoints for specific business logic
  • 24. Contract Denormalization How to add operations to a service interface with partially overlapping functionalities Without negative impact on the service We expose functionalities on different levels of granularity We increase flexibility We provide support for different types of clients.
  • 25. Pattern: Concurrent Contracts How to satisfy the requirements of different clients while keeping the appropriate level of abstraction Pattern shows how to define multiple interfaces for the same service implementation Each interface can evolve independently through time
  • 26. Pattern: Canonical Schema How to develop services that will not require schema transformations Increased interoperability Solutions: Use of standard approaches for schema design Use of common schemas through various services
  • 27. Pattern: Type Decoupling Types in the interface and the implementation should not be the same: Internal implementation Interface = outside view Interface types should not be identical to internal implementation types Internal type can change If used in the interface, we will break the contract (interface)
  • 28. Pattern: Security Centralization How to abstract security-related logic How to centralize logic How to maintain it centrally Solution: common centralized framework for security Use of vendor tools
  • 29. SOA Patterns Composite Patterns Process Integration Patterns Patterns Service ESB Patterns Patterns Governance Business Rules Patterns Patterns
  • 30. Pattern: Enterprise Inventory Defines approach for service registry and repository establishment and use Assures: Unified list of available services Reuse Service lifecycle management Service governance (compliance to standards) Service ownership …
  • 31. Pattern: Domain Inventory Defines approach to divide the organization into domains and development of services within domains Domain repository is usually aligned with the business domain Domain services are based on common/shared design and governance principles
  • 32. Pattern: Service Layers Defies how to organize services within registry/repository into logical groups Defines how to create logical groups How to add clasifications to the gropus How to search within the groups in an efficient manner
  • 33. SOA Patterns Composite Patterns Process Integration Patterns Patterns Service ESB Patterns Patterns Governance Business Rules Patterns Patterns
  • 34. Process Patterns Electronic Commerce Web-up, Enterprise-out, … e-Marketplace General e-Marketplace, Sell-Side Hub, … Account Access Domain specific reference models: eTOM (NGOSS/TMF) for telcos DAIS/OPC Unified Architecture for power dist. …
  • 35. IBM SOMA SOMA (Service-Oriented Modelling and Architecture) Methodology Focused on service design Related to RUP Rational Unified Process Supported by Rational tools IBM Rational Method Composer
  • 37. Conclusion SOA patterns can help to design and develop better SOA architectures and applications SOA antipatterns demonstrate approaches which are common but not advisable Designing sound SOA requires a lot of knowledge and skills and is not easy More SOA patters are available and should be studied and applied carefully
  • 38. HVALA ZA POZORNOST! e-naslov: http://www.cloud.si e-naslov: http://www.soa.si e-pošta: info@cloud.si 38