SlideShare a Scribd company logo
1 of 6
Download to read offline
Book Author: Nicolai M. Josuttis
                       Chapter Twenty: Epilogue




IT-Slideshares              http://it-slideshares.blogspot.com/
20.1 Is SOA Something New ?
 SOA does not introduce any newly invented concept.
    It is a paradigm that brings together existing concepts
     and practices for a specific set of requirements.
    One improvement of SOA might be the fact that Web
     Services (despite all its flaws) introduces a new standard
     for interoperability.
    Another important aspect of SOA, which represents a
     revolutionary approach different from what we’ve
     typically seen before, is the acceptance of heterogeneity.
20.2 Does SOA Increase
Complexity?
 There is no doubt that distributed processing is more
  complicated than nondistributed processing.
   To deal with large systems and different owners, collaboration and
    loose coupling are required (any form of loose coupling increases
    complexity).
   Distributed debugging and testing requires a lot more effort than
    debugging and testing in an environment where everything is under
    central control.
 SOA should never be an end in itself.
20.3 What are the Key Success
Factors of SOA ?
 A lot of aspects are important in making SOA a success
  story.
    Understanding
    Collaboration
    Management support
    Careful introduction
    Homework
20.4 Where is SOA Not Appropriate
 The requirements might be too tough, or the overhead SOA
  introduces might lead to more problems than it solves.
   Database replication, mass data processing, and local clients are not
    particularly SOAs strengths.
 Note that the question should never be whether or not
  something is appropriate for SOA; The question is whether
  or not the solution you’re considering is appropriate for
  your problem(s) and requirements.
20.5 Does SOA Replace OOP ?
 Another common question has to do with whether SOA replaces
  object-oriented programming (OOP), or which one is better.
 A comparison of OOP and SOA simply makes no sense, because
  they serve different purposes.
 Neither SOA nor OOP is better than or replaces the other.
    OOP is a programming paradigm for applications, while SOA
     is an architectural paradigm for system landscapes.
    OOP doesn’t scale, because you can control and manage your
     object model only up to a certain size.
    SOA is the approach to use to connect systems written in
     object-oriented or other paradigms.
 Unless you only have to manage a single program, you
  need both.

More Related Content

More from phanleson

E-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server AttacksE-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server Attacksphanleson
 
Hacking web applications
Hacking web applicationsHacking web applications
Hacking web applicationsphanleson
 
HBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table designHBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table designphanleson
 
HBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - OperationsHBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - Operationsphanleson
 
Hbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBaseHbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBasephanleson
 
Learning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlibLearning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlibphanleson
 
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark StreamingLearning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streamingphanleson
 
Learning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQLLearning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQLphanleson
 
Learning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a ClusterLearning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a Clusterphanleson
 
Learning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark ProgrammingLearning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark Programmingphanleson
 
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Dataphanleson
 
Learning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value PairsLearning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value Pairsphanleson
 
Learning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with SparkLearning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with Sparkphanleson
 
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about LibertagiaHướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagiaphanleson
 
Lecture 1 - Getting to know XML
Lecture 1 - Getting to know XMLLecture 1 - Getting to know XML
Lecture 1 - Getting to know XMLphanleson
 
Lecture 2 - Using XML for Many Purposes
Lecture 2 - Using XML for Many PurposesLecture 2 - Using XML for Many Purposes
Lecture 2 - Using XML for Many Purposesphanleson
 
SOA Course - SOA governance - Lecture 19
SOA Course - SOA governance - Lecture 19SOA Course - SOA governance - Lecture 19
SOA Course - SOA governance - Lecture 19phanleson
 
Lecture 15 - Technical Details
Lecture 15 - Technical DetailsLecture 15 - Technical Details
Lecture 15 - Technical Detailsphanleson
 
Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patternsphanleson
 
Lecture 9 - SOA in Context
Lecture 9 - SOA in ContextLecture 9 - SOA in Context
Lecture 9 - SOA in Contextphanleson
 

More from phanleson (20)

E-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server AttacksE-Commerce Security - Application attacks - Server Attacks
E-Commerce Security - Application attacks - Server Attacks
 
Hacking web applications
Hacking web applicationsHacking web applications
Hacking web applications
 
HBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table designHBase In Action - Chapter 04: HBase table design
HBase In Action - Chapter 04: HBase table design
 
HBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - OperationsHBase In Action - Chapter 10 - Operations
HBase In Action - Chapter 10 - Operations
 
Hbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBaseHbase in action - Chapter 09: Deploying HBase
Hbase in action - Chapter 09: Deploying HBase
 
Learning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlibLearning spark ch11 - Machine Learning with MLlib
Learning spark ch11 - Machine Learning with MLlib
 
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark StreamingLearning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streaming
 
Learning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQLLearning spark ch09 - Spark SQL
Learning spark ch09 - Spark SQL
 
Learning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a ClusterLearning spark ch07 - Running on a Cluster
Learning spark ch07 - Running on a Cluster
 
Learning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark ProgrammingLearning spark ch06 - Advanced Spark Programming
Learning spark ch06 - Advanced Spark Programming
 
Learning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your DataLearning spark ch05 - Loading and Saving Your Data
Learning spark ch05 - Loading and Saving Your Data
 
Learning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value PairsLearning spark ch04 - Working with Key/Value Pairs
Learning spark ch04 - Working with Key/Value Pairs
 
Learning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with SparkLearning spark ch01 - Introduction to Data Analysis with Spark
Learning spark ch01 - Introduction to Data Analysis with Spark
 
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about LibertagiaHướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
Hướng Dẫn Đăng Ký LibertaGia - A guide and introduciton about Libertagia
 
Lecture 1 - Getting to know XML
Lecture 1 - Getting to know XMLLecture 1 - Getting to know XML
Lecture 1 - Getting to know XML
 
Lecture 2 - Using XML for Many Purposes
Lecture 2 - Using XML for Many PurposesLecture 2 - Using XML for Many Purposes
Lecture 2 - Using XML for Many Purposes
 
SOA Course - SOA governance - Lecture 19
SOA Course - SOA governance - Lecture 19SOA Course - SOA governance - Lecture 19
SOA Course - SOA governance - Lecture 19
 
Lecture 15 - Technical Details
Lecture 15 - Technical DetailsLecture 15 - Technical Details
Lecture 15 - Technical Details
 
Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patterns
 
Lecture 9 - SOA in Context
Lecture 9 - SOA in ContextLecture 9 - SOA in Context
Lecture 9 - SOA in Context
 

Lecture 20 - Epilogue

  • 1. Book Author: Nicolai M. Josuttis Chapter Twenty: Epilogue IT-Slideshares http://it-slideshares.blogspot.com/
  • 2. 20.1 Is SOA Something New ?  SOA does not introduce any newly invented concept.  It is a paradigm that brings together existing concepts and practices for a specific set of requirements.  One improvement of SOA might be the fact that Web Services (despite all its flaws) introduces a new standard for interoperability.  Another important aspect of SOA, which represents a revolutionary approach different from what we’ve typically seen before, is the acceptance of heterogeneity.
  • 3. 20.2 Does SOA Increase Complexity?  There is no doubt that distributed processing is more complicated than nondistributed processing.  To deal with large systems and different owners, collaboration and loose coupling are required (any form of loose coupling increases complexity).  Distributed debugging and testing requires a lot more effort than debugging and testing in an environment where everything is under central control.  SOA should never be an end in itself.
  • 4. 20.3 What are the Key Success Factors of SOA ?  A lot of aspects are important in making SOA a success story.  Understanding  Collaboration  Management support  Careful introduction  Homework
  • 5. 20.4 Where is SOA Not Appropriate  The requirements might be too tough, or the overhead SOA introduces might lead to more problems than it solves.  Database replication, mass data processing, and local clients are not particularly SOAs strengths.  Note that the question should never be whether or not something is appropriate for SOA; The question is whether or not the solution you’re considering is appropriate for your problem(s) and requirements.
  • 6. 20.5 Does SOA Replace OOP ?  Another common question has to do with whether SOA replaces object-oriented programming (OOP), or which one is better.  A comparison of OOP and SOA simply makes no sense, because they serve different purposes.  Neither SOA nor OOP is better than or replaces the other.  OOP is a programming paradigm for applications, while SOA is an architectural paradigm for system landscapes.  OOP doesn’t scale, because you can control and manage your object model only up to a certain size.  SOA is the approach to use to connect systems written in object-oriented or other paradigms.  Unless you only have to manage a single program, you need both.

Editor's Notes

  1. An interesting answer is given in the book Enterprise SOA, by Dan Woods and Thomas Mattern (O’Reilly). The first explains OOP with the following limitation: “However, the calling application must be written in the same language as the object it is trying to access.” The second paragraph consists of only one sentence: “Web Services provide a standard way to communicate between services, which may be written in different languages.”