SFWR ENG 3A04: Software Design II Dr. R. Khedri Outline SFWR ENG 3A04: Software Design II Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Term 1 Acknowledgments: Material based on Software Architecture Design by Tao et al. (Chapter 10) Dr. R. Khedri SFWR ENG 3A04: Software Design II
33
Embed
SFWR ENG 3A04: Software Design II · 2017-03-08 · SFWR ENG 3A04: Software Design II Dr. R. Khedri Overview Client/Server Multi-tier Broker Architectural Style Service-Oriented Architecture
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SFWR ENG 3A04:Software Design II
Dr. R. Khedri
OutlineSFWR ENG 3A04: Software Design II
Dr. Ridha Khedri
Department of Computing and Software, McMaster UniversityCanada L8S 4L7, Hamilton, Ontario
Term 1
Acknowledgments: Material based on Software Architecture Design by Tao et al. (Chapter 10)
Client has a direct connection to its client-proxy
Server has direct connection to its server-proxy
The proxy talks to the mediator-broker
The proxy is a well known pattern for hiding low-leveldetailed communication processing
It intercepts the client’s requestgets all argumentspackets itmarshals (streamlines) and formats the package in theformat of communication protocolsends it to the broker
BrokerStub (client-side proxy): It mediates between client andbrokerSkeleton (server-side proxy)
It is statically generated by the service interfacecompilation and then deployed to the server sideIt receives the requests, unpacks the requests,unmarshals the method arguments, and calls theappropriate serviceIt also marshals results from the sever before it sends itback to the client
Bridges (Optional)Used to hide implementation details when two brokersinteroperateCan connect two different networks base don differentcommunication protocols
Server component implementation and locationtransparencyChangeability and extensibilitySimplicity for clients to access server and serverportabilityInteroperability via broker bridgesReusabilityFeasibility of runtime changes of server components(add or remove server components)
Disadvantages
Inefficiency due to the overhead of proxiesLow fault-toleranceDifficulty in testing
A service is a business functionality that iswell-defined and self-containedindependent from other servicespublished and available to be used via an interface
SOA services can be reused extensively regardless ofwhether they are based on new or legacy applicationsLoose coupling of service-orientation architectureprovides a great flexibility for enterprises to make useof all available service resourses
The connections between services are conducted bycommon and universal message oriented protocols suchas the SOAP Web service protocolA connection can be established statically ordynamically
A service-oriented application might make use of manyavailable services
For that one needs a flow control language
allows specifying the sequence and logical order of thebusiness executions based on the business logic
Some services can be reused by other applications thatthey are not originally designed for
We can build a new service out of existing services
aggregation: extends one endpoint of a service to makea new interface of the new servicecontainment structure: has one interface that wraps allused services
Services can be recursively constructed to satisfy amore complex business needs (through aggr. and cont.)
Each service component is independent from otherservices due to the stateless service feature
Interoperability: Technically any client or any servicecan access other services regardless of their platform,technology, vendors, or language implementations
Reusability: Any service can be reused by any otherservices and service is developed to be reused as well
Scalability: Loosely coupled services make themselveseasy to scale