Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)



Similar documents
NIST s Guide to Secure Web Services

Service Oriented Architecture

Service-Oriented Architectures

Introduction to Service Oriented Architectures (SOA)

Business Process Execution Language for Web Services

Christoph Bussler. B2B Integration. Concepts and Architecture. With 165 Figures and 4 Tables. IIIBibliothek. Springer

Service Virtualization: Managing Change in a Service-Oriented Architecture

Oracle SOA Reference Architecture

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

AquaLogic Service Bus

Getting Started with Service- Oriented Architecture (SOA) Terminology

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

A standards-based approach to application integration

Web Services and Service Oriented Architectures. Thomas Soddemann, RZG

An Oracle White Paper November Oracle Primavera P6 EPPM Integrations with Web Services and Events

Service-Oriented Architecture and Software Engineering

AquaLogic ESB Design and Integration (3 Days)

SOA Blueprints Concepts

SOA CERTIFIED JAVA DEVELOPER (7 Days)

Service-oriented architecture in e-commerce applications

Service-Oriented Computing and Service-Oriented Architecture

Service Computing: Basics Monica Scannapieco

Run-time Service Oriented Architecture (SOA) V 0.1

SOA REFERENCE ARCHITECTURE: SERVICE TIER

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Architectural Requirements for an SOA Based on Web Services. Jim Bole VP, Engineering Infravio, Inc. April 23, 2003

SOA REFERENCE ARCHITECTURE

Introduction to Service-Oriented Architecture for Business Analysts

To ESB or Not to ESB? Do you have to have an ESB to have a SOA?

SOA Best Practices (from monolithic to service-oriented)

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Federated Service Oriented Architecture for Effects-Based Operations

WEB SERVICES SECURITY

HexaCorp. White Paper. SOA with.net. Ser vice O rient ed Ar c hit ecture

Web Services Technologies: State of the Art

SOA CERTIFIED CONSULTANT

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Architectures, and. Service-Oriented. Cloud Computing. Web Services, The Savvy Manager's Guide. Second Edition. Douglas K. Barry. with.

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

E-Business Suite Oracle SOA Suite Integration Options

Redbook Overview Patterns: SOA Design with WebSphere Message Broker and WebSphere ESB

The Enterprise Service Bus: Making Service-Oriented Architecture Real

Web Services Advanced Topics

Introduction into Web Services (WS)

Service Oriented Architecture Case: IBM SOA Reference Architecture

This Working Paper provides an introduction to the web services security standards.

Cloud Computing & Service Oriented Architecture An Overview

How service-oriented architecture (SOA) impacts your IT infrastructure

The Service Revolution software engineering without programming languages

Introduction to Service Oriented Architecture (SOA)

ATHABASCA UNIVERSITY. Enterprise Integration with Messaging

OsEra Enterprise Service Bus

Classic Grid Architecture

Enterprise Service Bus

Oracle SOA Suite: The Evaluation from 10g to 11g

e-gov Architecture Service Interface Guidelines

Research on the Model of Enterprise Application Integration with Web Services

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

A Service Oriented Security Reference Architecture

Web Services Implementation Methodology for SOA Application

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Increasing IT flexibility with IBM WebSphere ESB software.

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

1 What Are Web Services?

1 What Are Web Services?

An Open Policy Framework for Cross-vendor Integrated Governance

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

IBM WebSphere ESB V6.0.1 Technical Product Overview

Oracle SOA Suite Then and Now:

WEB SERVICES. Revised 9/29/2015

Service Oriented Architecture 1 COMPILED BY BJ

CHAPTER 1 INTRODUCTION

The Global Justice Reference Architecture (JRA) Web Services Service Interaction Profile

A Quick Introduction to SOA

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

SONIC ESB: AN ARCHITECTURE AND LIFECYCLE DEFINITION

Government's Adoption of SOA and SOA Examples

XML Signatures in an Enterprise Service Bus Environment

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Core Feature Comparison between. XML / SOA Gateways. and. Web Application Firewalls. Jason Macy jmacy@forumsys.com CTO, Forum Systems

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

The Use of Service Oriented Architecture In Tax and Revenue

Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com

Chapter 15. Web services development lifecycle

ESB as a SOA mediator: Minimizing Communications Complexity

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Figure 1: Illustration of service management conceptual framework

Security for Service Oriented Architectures

Transcription:

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands) (Image Golden Pagoda Kyoto) Table of Contents I. BASICS 1. Introduction to Web Services 1. Introduction 2. The Concept of Software as a Service 3. What are Web Services? 4. Web services: Types and Characteristics 4.1 Types of Web Services 4.2 Service Characteristics 4.2.1 Well-defined Interfaces 4.2.2 Functional and Non-Functional Properties 4.2.3 State Properties 4.2.4 Loose Coupling 4.2.5 Complexity and Granularity 4.2.6 Synchronicity 4.2.7 Service Usage Context 5. Services, Interfaces and Components 6. The Service Oriented Architecture (SOA) 6.1 Roles of Interaction in the Service Oriented Architecture 6.2 Operations in the Service Oriented Architecture 6.2.1 Publish 6.2.2 Find 6.2.3 Bind 6.3 SOA: an Example Involving Aggregated Services 6.4 Layers in an SOA 7. The Web Services Technology Stack 8. Quality of Service 9. Web Services Interoperability 10. Web Services versus Components 11. Impact and Shortcomings of Web Services 12. Summary

II. ENABLING INFRASTRUCTURE 2. Distributed Computing Infrastructure 1 Distributed Computing and Internet protocols 1.1 Internet Protocols 1.1.1 The Open Systems Interconnection Reference Model 1.1.2 The TCP/IP Network Protocol 1.2 Middleware 2 The Client/Server Model 3 Characteristics of Inter-Process Communication 3.1 Messaging 3.2 Message Destinations and Sockets 3.3 Synchronous and Asynchronous Forms of Message Communication 3.3.1 Store and Forward Messaging 3.3.2 Publish/Subscribe Messaging 4 Synchronous Forms of Middleware 4.1 Remote Procedure Calls (RPCs) 4.2 Remote Method Invocation (RMI) 5 Asynchronous Forms of Middleware 5.1 Event-Driven Processing Mechanisms 5.2 Point-to-point Queuing 6 Request/Reply Messaging 7 Message Oriented Middleware 7.1 Integration brokers 7.2 The Java Message Service (JMS) 8 Transaction Oriented Middleware 9 Summary 3. Brief Overview of XML 1 XML Document Structure 1.1 XML Declaration 1.2 Elements 1.3 Attributes 2 URIs and XML Namespaces 3 Defining Structure in XML Documents 3.1 The XML Schema Definition Language 3.2 The XML Schema Document 3.3 Type Definitions, Element and Attribute Declarations 3.3.1 Element Declarations 3.3.2 Attribute Declarations 3.4 Simple Types 3.5 Complex Types 4 XML Schema Reuse 4.1 Deriving Complex Types

4.1.1 Complex Type Extensions 4.1.2 Complex Type Restrictions 4.1.3 Polymorphism 4.2 Importing and Including Schemas 4.2.1 Including Schemas 4.2.2 Importing Schemas 5 Document Navigation and Transformation 5.1 The XML Path Language 5.2 Using XSLT to Transform Documents 6 Summary III. CORE FUNCTIONALITY & STANDARDS 4. SOAP: Simple Object Access Protocol 1 Inter-Application Communication and Wire Protocols 1.1 SOAP as a Wire Representation 2 SOAP as a Messaging Protocol 3 Structure of a SOAP Message 3.1 SOAP Envelope 3.2 SOAP Header 3.2.1 SOAP Intermediaries 3.3 SOAP Body 4 The SOAP Communication Model 4.1 PRC-style Web Services 4.2 Document (Message)-style Web Services 4.3 Communication Modes and Massaging Exchange Patterns 5 Error Handling in SOAP 6 SOAP over HTTP 7 Advantages and Disadvantages of SOAP 8 Summary 5. Describing Web Services 1. Why is a Service Description Needed? 2. WSDL: Web services Description Language 2.1 Web service Interface Definition 2.2 WSDL Implementation 2.3 WSDL Message Exchange Patterns 3. Using WSDL to Generate Client Stubs 4. Non-functional Descriptions in WSDL 5. Summary 6. Registering and Discovering Web Services 1 Service Registries 2 Service Discovery

3 UDDI: Universal Description, Discovery, and Integration 3.1 UDDI Data Structures 3.1.1 Service Provider Information 3.1.2 Web Service Information 3.1.3 Web Service Access Information 3.1.4 The Publisher Assertion Structure 3.2 WSDL to UDDI Mapping Model 3.2.1 Publishing Service Interfaces and Service Bindings 3.2.2 Publishing Service Implementations 3.2.3 Summary of WSDL to UDDI Mapping Model 3.3 The UDDI Application Programming Interface 3.3.1 Enquiry API 3.3.2 Publishing API 3.4 Querying the UDDI Model 3.5 UDDI Usage Model and Deployment Variants 4 Summary IV. NOTIFICATION & SERVICE ORIENTED ARCHITECTURES 7. Reliable Messaging and Notification 1. Reliable Messaging 1.1 Definition and Scope of Reliable Messaging 1.2 WS-Reliable Messaging 1.2.1 Structure of Reliable Messaging 1.2.2 Ws-Messaging Examples 2. Web Services and Stateful Resources 3. Introduction to the WS-Resource Framework 3.1 WS-Addressing 3.2 WS-Resource 3.3 Resource Properties 3.4 Resource Lifecycle 3.5 Service Groups 4. Notification 4.1 Peer-to-peer Notification 4.1.1 WS-BaseNotification Interfaces 4.1.2 Subscription Filtering 4.2 Notification Topics 4.3 Brokered Notification 5. Eventing 6. Summary 8. Service-Oriented Architecture 1. What is a Software Architecture 1.1 System Quality Attributes 1.2 Common Architectural Concerns

2. The Service Oriented Architecture Revisited 3. Service Roles in an SOA 4. The Enterprise Service Bus 4.1 The Event-Driven SOA 4.2 Key Capabilities of an Enterprise Service Bus 4.3 Elements of an Enterprise Service Bus Solution 4.3.1 Integration Brokers 4.3.2 Application Servers 4.3.3 Business Process Management 4.3.4 Enterprise Service Bus Transport-level Choices 4.4 Connectivity and Translation Infrastructure 4.5 Leveraging Legacy Assets 4.6 Scalability Issues in an Enterprise Service Bus 4.7 Integration Examples using an Enterprise Service Bus 5. The Extended Service Oriented Architecture 6. Summary V. PROCESES, WORKFLOWS & SERVICE TRANSACTIONS 9. Web Services and Workflows 1. Business Processes and their Management 1.1 Characteristics of Business Processes 2. Workflows 3. Business Process Integration and Management 4. Cross-enterprise Business Processes and Web Services 5. Service Composition Meta-model 5.1 Flow Modelling Concepts 5.2 Composing Web Services 6. Web services Orchestration and Choreography 6.1 Orchestration versus Choreography 7. The Business Process Execution Language (BPEL) 7.1 BPEL Structure 7.1.1 Abstract and Executable Processes 7.1.2 Message Flow 7.1.3 Control Flow 7.1.4 Data Flow 7.1.5 Process Orchestration 7.1.6 Message Correlation 7.1.7 Fault Handling 7.1.8 Event Handling 7.2 A Simple Example in BPEL 8. Choreography 8.1 Uses of Choreography Description 8.2 Web Services Choreography Description Language 9. Other Initiatives and Languages 10. Summary

10. Web Services Transactions 1. Introduction: what is a transaction? 1.1 Properties of Transactions 1.2 Concurrency Control Mechanisms 2. Distributed Transactions 2.1 Distributed Transaction Architectures 2.2 Two-Phase Commit Protocol Phase I: Preparation Phase II: Commitment/Abortion 3. Nested Transactions 3.1 Closed Nested Transactions 3.1.1 Two-phase Commit Protocol 3.1.2 Concurrency Control 3.2 Open Nested Transactions 3.2.1 Transactional Workflows 3.2.2 Recovery Mechanisms 4. Transactional Web Services 4.1 Definitions and General Characteristics 4.2 Operational Characteristics of Business Transactions 4.3 Business Transaction Types 4.3.1 Atomic Actions 4.3.2 Long-duration Transactions 4.4 Consensus Groups and Interposition 4.5 States of Web Services Transactions 4.6 The Need for a Business Transaction Framework 5. Business Transaction Protocol (BTP) 5.1 Conceptual Model 5.2 Business Transaction Types 5.3 Business Transaction Coordination 5.4 BTP and Web Services 6. Web Services Coordination and Transaction 6.1 WS-Coordination 6.1.1 Activation Service 6.1.2 Registration Service 6.1.3 Typical Message Exchange between two Applications 6.1.4 Completion 6.2 WS-Transaction 6.2.1 Atomic Transaction 6.2.2 Business Activity 7. Web Service Composite Application Framework (WS-CAF) 7.1 Web Service Context (WS-CTX) 7.2 Web Service Coordination Framework (WS-CF) 7.3 Web Services Transaction Management (WS-TXM) 8. Summary

VI. SERVICE SECURITY & POLICIES 11. Web Services Security 1. Web Services Security Considerations 1.1 Security Threats for Web Services 1.2 Countermeasures 2. Network Level Security Mechanisms 2.1 Firewalls 2.1.1 Firewall Architectures 2.2 Intrusion detection systems and vulnerability assessment 2.3 Securing Network Communications 2.3.1 Symmetric Encryption 2.3.2 Asymmetric Encryption 2.3.3 Digital Certificates and Signatures 3. Application-level Security Mechanisms 3.1 Authentication 3.1.1 Protection Domains 3.1.2 Web Resource Protection 3.2 Authorization 3.3 Integrity and Confidentiality 3.4 Non-repudiation 3.5 Auditing 3.6 Widely Used Authentication Protocols 3.6.1 Secure Sockets Layer (SSL) 3.6.2 Internet Protocol Security (IPSec) 3.6.3 Kerberos 3.7 Security Infrastructures 3.7.1 Public Key Infrastructure (PKI) 3.7.2 Directory Services 4. XML Trust Services Overview 4.1 XML Signature 4.2 XML Encryption 4.3 XML Key Management Specification (XKMS) 4.3.1 XML Key Information Service Specification (X-KISS) 4.3.2 XML Key Registration Service Specification (X-KRSS) 4.4 Security Assertions Markup Language 4.5 XML Access Control Markup Language 5. Security for Web Services 5.1 Web Services Application-level Security Challenges 5.2 Web Services Security Roadmap 5.3 Web Services Security Model 5.4 A Use Case for Web Services Security 5.5 Web Services Security (WS-Security) 5.5.1 Integrating Web Services Security in Service Oriented Architectures 5.5.2 WS-Security Features 5.6 Managing Security Policies 5.7 Managing Secure Conversations 5.8 Managing Trust

5.9 Managing Privacy 5.10 Managing Federated Identities 5.11 Managing Authorization 6. Summary 12. Policies and Agreements 1. What are Policies and why are they Needed? 2. Types of Policies 3. Policies and Web Services Standards 4. WS-Policy Framework 4.1 WS-Policy Overview 4.1.1 Policy Expressions 4.2 Policy Assertions 4.3 Combining and Comparing Policies 4.3.1 Merging Policies 4.3.2 Policy Intersection 4.4 Policy Attachments 4.4.1 XML/WSDL Policy Attachment 4.4.2 External Policy Attachment 5. Service Agreements 5.1 WS-Agreement Structure 5.2 Conceptual Agreement Model 5.3 Agreement Language 6. Summary VII. SERVICE SEMANTICS & BUSINESS PROTOCOLS 13. Semantics and Web Services 1 The semantic interoperability problem 2 The Role of Metadata 3 Resource Description Framework 3.1 The RDF Data Model 3.2 RDF Syntax 3.3 The RDF Schema 4 Richer Schema Languages 5 WS-Metadata Exchange 6 Summary 14. Business Protocols 1 The Supply Chain Business EcoSystem 2 Semantic Problems at the Business Process-Level 3 Business Standards and Protocols 3.1 Electronic Data Interchange (EDI) 3.2 RosettaNet

3.2.1 The RosettaNet Business Architecture 3.2.2 RosettaNet and Web Services 3.3 The Electronic Business XML Initiative 3.3.1 ebxml Reference Architecture 3.3.2 ebxml Functional Phases 3.3.3 ebxml and Web Services 4 XML in Vertical Organizations 5 Summary VIII. SERVICE DESIGN & DEVELOPMENT 15. Web Services Development Lifecycle 1. Why is a Web Services Development Methodology Needed? 2. Web Services Development and Related Methodologies 3. System Development Life Cycle 4. Characteristics of Service-oriented Design and Development 5. Web Services Development Life Cycle Methodology Baseline 6. Factors for Service-oriented Design and Development 7. Service-oriented Design and Development Principles 7.1 Service coupling 7.2 Service cohesion 7.3 Granularity concerns 8. Phases of the Service-oriented Design and Development Methodology 8.1 The Planning Phase 8.2 The Analysis Phase 8.2.1 Process Identification 8.2.2 Process Scoping 8.2.3 Business Gap Analysis 8.2.4 Process Realization Analysis 9. The Service Design Phase 9.1 Service Design Concerns 9.1.1 Managing Service and Component Granularity 9.1.2 Designing for Service Reusability 9.1.3 Designing for Service Composability 9.2 Specifying Services 9.2.1 Structural and Behavioural Service Specification 9.2.2 Service Programming Style 9.2.3 Service Policy Concerns 9.3 Specifying Business Processes 9.3.1 Describing the Business Process Structure 9.3.2 Describing Business Roles 9.3.3 Non-Functional Business Process Concerns 10. The Service Construction Phase 10.1 Constructing a Service: The Provider Perspective 10.2 Constructing Services: The Requester Perspective 11. The Service Test Phase

12. The Service Provisioning Phase 12.1 Service Governance 12.2 Service Certification 12.3 Service Metering and Rating 12.4 Service Billing Strategies 13. The Service Deployment Phase 14. The Service Execution Phase 15. The Service Monitoring Phase 16. Final Words about the Methodology 17. Summary IX. SERVICE MANAGEMENT 16. Web Services Management 1. Managing Distributed Systems 1.1 Purpose of Distributed Systems Management 1.2 Distributed Management for Web Services 1.3 Quality Requirements 2. Enterprise Management Frameworks 3. Conceptual Management Architecture 3.1 Management Capabilities and Functions 4. Standard Distributed Management Frameworks 4.1 Simple Network Management Protocol 4.2 Web-based Enterprise Management/Common Information Model 5. Features of Web Services Management 6. Web Services Management 6.1 Service Management Approaches 6.2 Management Infrastructure Services 6.3 Connecting Service Management and Application Channels 7. The Web Services Distributed Management Initiative 7.1 Management Using Web Services (MUWS) 7.2 Management of Web Services (MOWS) 8. Summary X. EMERGING TRENDS 17. Recent Trends and Developments 1. Grid Computing 1.1 A Brief Overview of Grid Computing 1.2 Features and Requirements of Grid Systems 1.3 Grid Application Considerations 1.4 Grid Services 2. Mobile Computing 2.1 Elements of Mobile Infrastructure

2.2 Wireless Protocols and Initiatives 2.2.1 Wireless Application Protocol 2.2.2 I-Mode 2.3 Mobile Web Services 2.3.1 Mobility Considerations 2.3.2 Field Web services 2.4 Mobile Web Services Standard Initiatives 2.4.1 The Open Mobile Alliance Initiative 2.4.2 Mobile Web Services Framework 3. Summary