SlideShare une entreprise Scribd logo
1  sur  35
Component based Software Engineering v/s SOA Based Software Engineering Proposed by: Maulik Parikh Riddhi Vyas
Scenario A Mid tier/ Mid level company which wants to develop a product. Asked software architects for suggesting them a solution methodology. As software architects we are comparing two methodologies: Component Based Software Engineering and SOA based Software Engineering and proposing a solution to the stack holders.
What is CBSE? Emphasis on decomposition of the engineered systems  Functional or logical components with well-defined interfaces used communication across the components  Development methodology that utilizes separate software entities using:  Commercially off-the-shelf products (COTS) Internally developed components Promotes software reuse Improved quality software Reduced development costs Reduces time to market for large system implementation
Why CBSE? Goal: Represent the system as assembly of parts(Components) The ‘buy, don’t build’ philosophy. The development of parts as reusable entities, and the maintenance and upgrading of systems by customizing and replacing such parts  What is Required for that: established methodologies and tool support covering the entire component and system lifecycle including technological, organizational, marketing, legal, and other aspects
What is  New? OOD v/s CBD
What is Needed? CBSE COMPONENT MODELS OMG’s CORBA Component Model (CCM) Microsoft’s COM ,DCOM ,COM+ family UML2.0 PECOS ADLs, Pin, Fractal, KobrA, SOFA 
Basic Concepts: i)Components: Components are considered to be a higher level of abstraction than objects ii) Interface: Exported Interface  Imported Interface iii)Contract: Specifies two things
Benefits with CBSE Reduce or Contain development costs Increasing industry competition for similar products Decreased time to market Improved software quality Demand for more complex software solutions Complex software solutions cost reduced through CBSE Increased availability of COTS components In Short: Maintainability  Functionality Usability Efficiency Reliability Portability
Challenges of CBSE External Components  May contain serious bugs Do not meet all functional requirements Unable to obtain timely component support Poor API documentation Technical risks involved with integrating multiple components with different architectures Too much time spent analyzing and searching for existing components ,[object Object]
No commonly accepted criteria/classification/taxonomy
Configuration Management,[object Object]
SOA Services: Loose coupling  Formal contract  Abstraction  Reusability  Principles that service must adhered to Promote software reusability Flexibility and able to respond faster to change  Self-describing and self-containing
SOA Architecture:
SOA Technologies XML: Specification to create customized markup languages Supports communication of different systems Communication is platform neutral, language neutral and self-describing syntax  SOAP: Protocol specification used to exchange information via Web Services Flexible enough to use multiple transport protocols (HTTP or SMTP) Platform & language independent Relies on XML
SOA Technologies WSDL(Web Service Definition Language): Defines services as collections of network endpoints or ports Multiple ports define a service Clients read WSDL to determine  Services available  How to make SOAP calls to the service UDDI(Universal Description Discovery and Integration): Registry where businesses can list available services and discover services Composed of 3 items: White Pages - Stores contact information (address and other identifiers) Yellow Pages - Service categorizations Green Pages - Technical information regarding services
SOA Tools Composing Services: ,[object Object],Orchestration: Orchestration is about maintaining a flow of sequence of composed services in a system. For this, BPEL4WS (Business Process Execution Language for Web Services)and Web Service Conversation Interface are used. Choreography: Choreography deals with interaction between the service providers. For this ,WS-CDL(Web Services-Choreography Description Language) is used.
SOA Benefits SOA can help business respond more quickly to changing market conditions in a cost-effective manner to stay competitive  Ease the management of IT resources in the organization and allow company to leverage off from existing IT investment Provide higher level of interoperability and increased business and technology domain alignment Complex software system can be build more rapidly from existing services Technology Neutral ,[object Object],Location transparency Facilitates reusability ,[object Object]
self-describing,
dynamic bindingLoosely coupled ,[object Object],[object Object]
CBSE v/s SOA
Service Components Service Component:  It is a self-contained body of the code with a well-defined interface, attributes and behavior. ,[object Object]
Designed to be reused.
It must have a name, properties and an implementation.
Properties--- Operational constraints,     its dependencies (if any) on other components, list of operation that can be reused, list of known relationships etc.
Service Components Interface– can be described with a programming language. Service Provider 	{ 		provide output; 		pubReq input; 		spec  serviceSpecification; } Interface may be described directly in the specification or indirectly discovered through reflection and introspection. Network addressable interfaces. Communicate via standard protocols and data formats.
Service Components Connector:  It connects service components. Define the connector type and specify it by declaring its interfaces and the connection protocols. Connector Interface: It’s a set of interaction points between the connector and the service components and the connectors attached to it. 	Connector PubLink 	{ 		publisher output; 		pubRequestor input; 		spec publishProtocol; 	} The connector interface“input” defines interconnection protocol between the provider and that connector.
Modern Components Modern components are the ones which are manufactured by a vendor using some standardized models and used by a third party who uses it as COTS-components. Modern components are accessed by vendor defined standardized architecture based interfaces. They are tightly coupled inside a container. This puts an extra processing overhead…..How??
Modern Components
Component Distribution….A problem? ,[object Object]
Only coarse-grained objects should be exposed to the network.
Hard to reuse coarse-grained  objects.
Reusable business logic should remain fine grained.
So Component Distribution is a problem!!!......
What’s the Solution??,[object Object]
We do not want to change the interface too..

Contenu connexe

Tendances

Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptKunal Kishor Nirala
 
The Distinction Between Business Intelligence (BI) and Corporate Performance ...
The Distinction Between Business Intelligence (BI) and Corporate Performance ...The Distinction Between Business Intelligence (BI) and Corporate Performance ...
The Distinction Between Business Intelligence (BI) and Corporate Performance ...Mika Aho
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecturePratik Patil
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netmekhap
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentesmarianela0393
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture StylesHenry Muccini
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...Fatima Qayyum
 
School University College Institutes management system
School University College Institutes management systemSchool University College Institutes management system
School University College Institutes management systemOrwer IT Media Services
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to umlPRABU M
 
Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practicessflynn073
 
All About Multi Organization Access
All About Multi Organization AccessAll About Multi Organization Access
All About Multi Organization AccessAhmed Elshayeb
 
Online Advertisement Project Presentation
Online Advertisement Project PresentationOnline Advertisement Project Presentation
Online Advertisement Project Presentationsatvirsandhu9
 
blood bank management system project report
blood bank management system project reportblood bank management system project report
blood bank management system project reportNARMADAPETROLEUMGAS
 

Tendances (20)

Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Ch20 systems of systems
Ch20 systems of systemsCh20 systems of systems
Ch20 systems of systems
 
The Distinction Between Business Intelligence (BI) and Corporate Performance ...
The Distinction Between Business Intelligence (BI) and Corporate Performance ...The Distinction Between Business Intelligence (BI) and Corporate Performance ...
The Distinction Between Business Intelligence (BI) and Corporate Performance ...
 
Decorator design pattern
Decorator design patternDecorator design pattern
Decorator design pattern
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Arquitectura Orientada a Servicios (SOA)
Arquitectura Orientada  a Servicios (SOA)Arquitectura Orientada  a Servicios (SOA)
Arquitectura Orientada a Servicios (SOA)
 
Chapter1
Chapter1Chapter1
Chapter1
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecture
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentes
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture Styles
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
 
School University College Institutes management system
School University College Institutes management systemSchool University College Institutes management system
School University College Institutes management system
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to uml
 
Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practices
 
Unit 4
Unit 4Unit 4
Unit 4
 
All About Multi Organization Access
All About Multi Organization AccessAll About Multi Organization Access
All About Multi Organization Access
 
Online Advertisement Project Presentation
Online Advertisement Project PresentationOnline Advertisement Project Presentation
Online Advertisement Project Presentation
 
blood bank management system project report
blood bank management system project reportblood bank management system project report
blood bank management system project report
 

En vedette

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based DevelopmentBen McCormick
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineeringWasim Raza
 
Component Based Software Development
Component Based Software DevelopmentComponent Based Software Development
Component Based Software DevelopmentDiego Cardozo
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuseMarco Brambilla
 
Component based software development
Component based software developmentComponent based software development
Component based software developmentEmmanuel Fuchs
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 

En vedette (9)

Quiz 4 soution
Quiz 4 soutionQuiz 4 soution
Quiz 4 soution
 
Component Based Development
Component Based DevelopmentComponent Based Development
Component Based Development
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
 
Component Based Software Development
Component Based Software DevelopmentComponent Based Software Development
Component Based Software Development
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuse
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 

Similaire à CBSE VS SOA Presentation

Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Biniam Asnake
 
Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Dr. Shahanawaj Ahamad
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLJorgen Thelin
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
Soa session 1 part 1(2)
Soa session 1 part 1(2)Soa session 1 part 1(2)
Soa session 1 part 1(2)Shilpi Jain
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineeringSweta Kumari Barnwal
 
Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro ServicesShashi Shekhar
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentationpavan nani
 
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptNKannanCSE
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSandeep Ganji
 
Topic5 Web Services
Topic5 Web ServicesTopic5 Web Services
Topic5 Web Servicessanjoysanyal
 

Similaire à CBSE VS SOA Presentation (20)

Basic concepts of soa
Basic concepts of soaBasic concepts of soa
Basic concepts of soa
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
What is service
What is serviceWhat is service
What is service
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
Soa session 1 part 1(2)
Soa session 1 part 1(2)Soa session 1 part 1(2)
Soa session 1 part 1(2)
 
L11 Service Design and REST
L11 Service Design and RESTL11 Service Design and REST
L11 Service Design and REST
 
Bpm soa
Bpm soaBpm soa
Bpm soa
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineering
 
Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro Services
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentation
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
 
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Topic5 Web Services
Topic5 Web ServicesTopic5 Web Services
Topic5 Web Services
 
soa ppt v7.ppt
soa ppt v7.pptsoa ppt v7.ppt
soa ppt v7.ppt
 

CBSE VS SOA Presentation

  • 1. Component based Software Engineering v/s SOA Based Software Engineering Proposed by: Maulik Parikh Riddhi Vyas
  • 2. Scenario A Mid tier/ Mid level company which wants to develop a product. Asked software architects for suggesting them a solution methodology. As software architects we are comparing two methodologies: Component Based Software Engineering and SOA based Software Engineering and proposing a solution to the stack holders.
  • 3. What is CBSE? Emphasis on decomposition of the engineered systems Functional or logical components with well-defined interfaces used communication across the components Development methodology that utilizes separate software entities using: Commercially off-the-shelf products (COTS) Internally developed components Promotes software reuse Improved quality software Reduced development costs Reduces time to market for large system implementation
  • 4. Why CBSE? Goal: Represent the system as assembly of parts(Components) The ‘buy, don’t build’ philosophy. The development of parts as reusable entities, and the maintenance and upgrading of systems by customizing and replacing such parts What is Required for that: established methodologies and tool support covering the entire component and system lifecycle including technological, organizational, marketing, legal, and other aspects
  • 5. What is New? OOD v/s CBD
  • 6. What is Needed? CBSE COMPONENT MODELS OMG’s CORBA Component Model (CCM) Microsoft’s COM ,DCOM ,COM+ family UML2.0 PECOS ADLs, Pin, Fractal, KobrA, SOFA 
  • 7. Basic Concepts: i)Components: Components are considered to be a higher level of abstraction than objects ii) Interface: Exported Interface Imported Interface iii)Contract: Specifies two things
  • 8. Benefits with CBSE Reduce or Contain development costs Increasing industry competition for similar products Decreased time to market Improved software quality Demand for more complex software solutions Complex software solutions cost reduced through CBSE Increased availability of COTS components In Short: Maintainability Functionality Usability Efficiency Reliability Portability
  • 9.
  • 10. No commonly accepted criteria/classification/taxonomy
  • 11.
  • 12. SOA Services: Loose coupling Formal contract Abstraction Reusability Principles that service must adhered to Promote software reusability Flexibility and able to respond faster to change Self-describing and self-containing
  • 14. SOA Technologies XML: Specification to create customized markup languages Supports communication of different systems Communication is platform neutral, language neutral and self-describing syntax SOAP: Protocol specification used to exchange information via Web Services Flexible enough to use multiple transport protocols (HTTP or SMTP) Platform & language independent Relies on XML
  • 15. SOA Technologies WSDL(Web Service Definition Language): Defines services as collections of network endpoints or ports Multiple ports define a service Clients read WSDL to determine Services available How to make SOAP calls to the service UDDI(Universal Description Discovery and Integration): Registry where businesses can list available services and discover services Composed of 3 items: White Pages - Stores contact information (address and other identifiers) Yellow Pages - Service categorizations Green Pages - Technical information regarding services
  • 16.
  • 17.
  • 19.
  • 21.
  • 22. Designed to be reused.
  • 23. It must have a name, properties and an implementation.
  • 24. Properties--- Operational constraints, its dependencies (if any) on other components, list of operation that can be reused, list of known relationships etc.
  • 25. Service Components Interface– can be described with a programming language. Service Provider { provide output; pubReq input; spec serviceSpecification; } Interface may be described directly in the specification or indirectly discovered through reflection and introspection. Network addressable interfaces. Communicate via standard protocols and data formats.
  • 26. Service Components Connector: It connects service components. Define the connector type and specify it by declaring its interfaces and the connection protocols. Connector Interface: It’s a set of interaction points between the connector and the service components and the connectors attached to it. Connector PubLink { publisher output; pubRequestor input; spec publishProtocol; } The connector interface“input” defines interconnection protocol between the provider and that connector.
  • 27. Modern Components Modern components are the ones which are manufactured by a vendor using some standardized models and used by a third party who uses it as COTS-components. Modern components are accessed by vendor defined standardized architecture based interfaces. They are tightly coupled inside a container. This puts an extra processing overhead…..How??
  • 29.
  • 30. Only coarse-grained objects should be exposed to the network.
  • 31. Hard to reuse coarse-grained objects.
  • 32. Reusable business logic should remain fine grained.
  • 33. So Component Distribution is a problem!!!......
  • 34.
  • 35. We do not want to change the interface too..
  • 36.
  • 37. IS SOA a miracle cure? SOA is a step forward from component technology but not a miracle-cure. It gives loose coupling, higher reusability, faster development and a complete new style of software development. Two points of differentiation: Services are public not models of development. Can be accessed through registries as done in Yellow Pages. Services have to be largely independent from implementation specific attributes. E.g. Java, .Net or Perl. (Communication –XML and SOAP)
  • 38.
  • 39.
  • 40. There should be a metrics to decide for a fit of service.
  • 42. SOAP is a de-facto wire protocol for web services.
  • 43. SOAP performance is degraded due to the following:SOAP envelop extraction from SOAP packet is very time-expensive. SOAP encoding rules makes it mandatory to include typing information in all the SOAP messages sent and received.
  • 44.
  • 45. SOA uses XML for data exchange and interchange.
  • 46. A coin has two sides….
  • 47. Higher need of data transfer  lower performance and higher usage of network and internet traffic.
  • 48. Parsing the XML information contained in an envelop is time-consuming.
  • 49. Very less time is consumed in serializing and de-serializing sent in a binary format over the network.
  • 50.
  • 51. Future Work Component based paradigm has a long history relatively behind them. Solid methodology for developing component based applications. As SOA paradigm matures, it requires careful consideration of the role of different software artifacts in the system. e.g. clearly distinguish between reusability on different levels, for instance.
  • 52. Conclusion SOA gives a new type of service based architecture to be used in a context free way , it does not differ significantly from existing component based frameworks like EJB. Developers can use foreign external components as Web Services. But one has to take into consideration factors like finding services, providing acceptable performance, security, transactions, maintainability in own services even to handle changeability of integrated external services or components. There are a lot of problems but there are a lot of possibilities too. In our opinion future is about Component based SOA(CSOA).
  • 53. References Hanson, J: Coarse-grained interfaces enable service composition in SOA. URL: http://builder.com/5100-63865064520.html Siddiqui, F: Component based software engineering, a look at reusable software components (August 2003) Stal, M. : Using architectural patterns and blueprints for service-oriented architecture. Software, IEEE 23(2) (2006) 54-61 Enterprise Service Bus. URL: http://en.wikipedia.org/wiki/enterprise service bus Elrad, T., Aksit, M. , Kiczales, G., Lieberherr, K., Ossher, H. : Discussing aspects of Component Communication. ACM 44(10) (2001) 33-38