18
CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Embed Size (px)

Citation preview

Page 1: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

CSE@UNSW

Architectural Styles for Reliable and Manageable Web services

Piyush MaheshwariAbdelkarim Erradi

March 2005

Page 2: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Agenda

Service Oriented Architecture (SOA)Web Services Interaction Patterns Motivation for wsBuswsBus Architecture and DesignConclusion and Future Work

Page 3: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

So… what is Service Orientation?Interoperability-centric approach to interconnect applications and facilitates complex interactions between heterogeneous and autonomous systems

Paradigm shift from RPC-based/object-based architecture to a loosely-coupled, message-focused and service-oriented architecture

SOA = {Services, Messages, QoS/Policy}

Page 4: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Service OrientationBuilt around the concepts of service and messageA service is an entity that can send and receive messagesService interaction is facilitated by exchanging messagesA service adheres to a contract

Describes the format of the messages exchangedDefines the message exchange patterns in which a service is prepared to participate

Messages includeApplication dataControl information: Addressing, Security, Reliability

Problem: How to provide QoS support and manageability?

Page 5: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Point-to-Point vs. Broker PatternBroker Pattern

Point-to-PointPoint-to-Point Simple integration pattern and requires minimal infrastructure– Complicating manageability and maintainability as well as increasing operational cost as the number of connections grows– Duplication of QoS, transformation and routing logic between services

Broker PatternBroker PatternConsistent handling of value-added QoS: centrally configured and enforcedReduced couplingImproved security & interoperability

-Single point of failure and congestion: requires redundant/clustered configuration

Point to Point

Page 6: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Mediation and Interoperation

Interoperation of Web services is hindered by many forms of mismatch

Data mismatch: the interacting parties do not agree on the data format that they are usingProtocols mismatch: the interacting parties use different protocolsSemantic Mismatch: The interacting parties interpret the same information in very different ways

These mismatches need to be reconciled for the interoperation to succeed.Mediators (e.g., wsBus) are the components that reconcile these mismatches and add QoS support

Page 7: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Point-to-Point SOAP Messaging

wsBus

Page 8: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

What is wsBus?wsBus = a lightweight service-oriented integration framework for dependable Web services interactions using broker pattern

Design Goals:Maximize decoupling complemented by scalable mediation service to cope with the inherit heterogeneity of interacting services.

Page 9: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Why wsBus?

InflexibilityTightly-coupled(Location & implementation aware)

Synchronous (RPC, availability dependent)

Many connections and data formatsNot scalableExtremely difficult to manage

Overcome Point-to-Point integration problems

Page 10: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

wsBus FeaturesEnhanced service registry that can be used as a private UDDI with richer metadata Gatekeeper: Block unauthorized SOAP messages and control access to servicesMulti-protocol support to bridge interfaces and protocol differencesLoad balancing - redirecting high load jobs or messages for Gold clients to special serversImproved reliability through configured re-routing or retry mechanisms

Page 11: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

wsBus Features (cont.)Protect applications from emerging and rapidly evolving Web services standards

Protect servers from overload by queuing or redirecting messages

Other added value services like Service Level Agreements (SLAs) monitoring, encryption, metering, and billing services

Page 12: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

wsBus Architecture

Message Handler 1WSMB

Scheduler Web service 1

Web service 2

Web service n

….

Admission Manager

Qos Data

QoS metrics computation

admin QoS Metrics

Monitoring Console

Management Poral

….

Message Store

HTTP Port

TCP Port

JMS Port

MSMQ Port

DispatcherService

Selection

Classifier

Web service client 1

….

Config parameters

Web service client 2

Web service client n

Message Handler n

Scheduler

Process

SOAP

SOAP

SOAP

SOAP

Page 13: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

wsBus ComponentswsBus = mediating component

Provides various channels to access the registered Web services

Filters intercept and manipulate both request and response messages (e.g., transform old-format messages into new formats)Reliability layer checks messages for expiration, duplication, and orderingThen the Msg get queued for processing

Page 14: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Message Processing Pipeline

Messages travels along a pipelinePipeline is made from series of operations

Generic:• Validate message against schema• Filter / Select Route using XPath expression• Transform message with XSLT• Verify message integrity / sign message• Encrypt / decrypt message

Specific:• Evaluate a business rule• Perform some data operation

Path can be determined dynamically by routing rulesPipeline can be easily adjusted by configuration

Page 15: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Reliability features

Expiration: expired messages are not deliveredTimeout: generate timeout if a response msg not returned within a specified time.Store and forward mechanism Clustering Web services

PlusLogging of all messages Message tracking and correlationInteroperability with various messaging protocols

Page 16: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Conclusion & Future WorkThe Message is the key!

Asynchronous messaging & Loose coupling

wsBus leverages the principles of messaging systems as well as the emerging WS-* standards to support more reliable and manageable Web services interactions using a broker patternFuture Work:

Complete wsBus development and fully evaluate its features in real settingsInvestigate techniques to provide differentiated and guaranteed service levels

Page 17: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

ReferencesAlonso, G., Casati, F., Kuno, H., & Machiraju, V. (2003). Web Services: Concepts, Architectures, and Applications. Berlin: Springer Verlag.Bass, L., Clements, P., & Kazman, R. (2003). Software Architecture in Practice (2nd edition): Addison-Wesley.Birman, K., Van Renesse, R., & Vogels, W. (2004). Adding high availability and autonomic behavior to Web services. Paper presented at the Proceedings of 26th International Conference on Software Engineering (ICSE 2004).Pallickara, S., & Fox, G. (2003). NaradaBrokering: A Distributed Middleware Framework and Architecture for Enabling Durable Peer-to-Peer Grids. Paper presented at the Middleware 2003, Rio de Janeiro, Brazil.Sadiq, S. W., Orlowska, M. E., Sadiq, W., & Schulz, K. (2004). Facilitating Business Process Management with Harmonized Messaging. Paper presented at the 6th International Conference on Enterprise Information Systems (ICEIS 2004), Porto, Portugal.Vogels, W. (2003). Web Services Are Not Distributed Objects. IEEE Internet Computing, 7(6), 59- 66.

Page 18: CSE@UNSW Architectural Styles for Reliable and Manageable Web services Piyush Maheshwari Abdelkarim Erradi March 2005

Questions & Comments?

This work is part of a project jointly funded by the Australian Research Council and

Microsoft (ARC Linkage Project LP0453880)