CBSE VS SOA SJSU Presentation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    CBSE VS SOA SJSU Presentation - Presentation Transcript

    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. 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
      • No universally accepted terminology
      • No commonly accepted criteria/classification/taxonomy
      • Configuration Management
    10. What is SOA?
      Utilizes services as fundamental elements for developing applications and solutions.
      Also called group of services that communicate with each other which involves either data passing or co-coordinating activity between two or more services.
      Web Services is used as a methodology to implement a SOA solution
      SOA is NOT a product to be purchased
    11. 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
    12. SOA Architecture:
    13. 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
    14. 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
    15. SOA Tools
      Composing Services:
      • For composing services one has to filter some no-required functions of ‘provider ‘ services. For this, Pipes and Filters are used.
      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.
    16. 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
      • Remove technology and platform boundaries
      Location transparency
      Facilitates reusability
      • Self-containing,
      • self-describing,
      • dynamic binding
      Loosely coupled
      • More open to change
    17. SOA Challenges
      Managing Service capability data
      Collecting and presenting data on how all components interact and their discoverable capabilities
      Testing
      Lack of comprehensive testing tools for SOA
      With “real-time” application composition and service deployment, testing is easily forgotten
      Security
      All independent services must handle security independently
    18. CBSE v/s SOA
    19. Service Components
      Service Component:
      It is a self-contained body of the code with a well-defined interface, attributes and behavior.
      • Works as ‘Service Provider’ and/or ‘Service Consumer’.
      • 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.
    20. 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.
    21. 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.
    22. 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??
    23. Modern Components
    24. Component Distribution….A problem?
      • Fine Grained objects are tightly coupled inside a container and it is not possible to distribute fine-grained objects without causing a measurable impact to at least some of the non-functional requirements.
      • 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??
    25. Façade Pattern-A Solution
      • We don’t want to publish the fine grained entities to the client, so we have to provide a coarse view of them.
      • We do not want to change the interface too..
      • Façade provides such a view which satisfies different system specific demands like web services.
    26. Demarcated SOA v/s Components
      In principal, SOA is the enhancement of components.
      Individual services are single components which can be linked to gain new business logic, new services or a new components.
      The big difference is the connection between the possibilities of offering single service for third parties.
      EJB(especially Session Beans) can be designed to offer its business methods like services in a context free way.
      Compare it with a department in a company offering a service to other department.
    27. 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)
    28. Discussions and Justifications
      Performance Issues of Web Services:
      Long chain of web services reliance
      Non-public services cause transport security and transaction issues. E.g. JMS-Web Services bridge
      Which Web Services are right for me?
      • Technologies like UDDI does help in doing this job but it is not an efficient and competitive way.
      • Write undiscoverable web services oneself…That’s against the idea of SOA!! Than there’s no real advantage of SOA over CBD.
    29. Discussions and Justifications
      Quality of Service of foreign applications:
      • Non-functional attributes like performance, reliability, security and manageability have to be detected.
      • There should be a metrics to decide for a fit of service.
      • Performance with SOAP
      • SOAP is a de-facto wire protocol for web services.
      • 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.
    30. Discussions and Justifications
      Data Overhead:
      • XML is a language independent, platform independent, easy to recognize and normal textual format.
      • SOA uses XML for data exchange and interchange.
      • A coin has two sides….
      • Higher need of data transfer  lower performance and higher usage of network and internet traffic.
      • Parsing the XML information contained in an envelop is time-consuming.
      • Very less time is consumed in serializing and de-serializing sent in a binary format over the network.
      • Very less data optimization is possible with XML.
    31. More Offerings
      SOA services can be built on CBD principles, it adds a new layer for reuse.
      SOA services can be reused via standard communication over ESB and discoverability offered by repositories.
      Using XML and web services SOA applications have become distributed but there are still questions about security, transactions, fault tolerance, change management.
      Technical SOA principles like data ownership are object oriented so technically it is not a novelty.
      Business functionality which raises the level of abstraction separates SOA services from common components.
    32. 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.
    33. 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).
    34. 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
    35. Q & A?
    SlideShare Zeitgeist 2009

    + mgp1560mgp1560 Nominate

    custom

    153 views, 0 favs, 0 embeds more stats

    It is a presentation of a research paper on Compone more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 153
      • 153 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories