Web Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics

Similar documents
Web Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics

SOA with Web Services in Practice. SOA with Web Services

Oracle SOA Suite 11g: Build Composite Applications

Oracle SOA Suite 11g: Build Composite Applications

Semantic SOA - Realization of the Adaptive Services Grid

Network Based Hard/Soft Information Fusion Network Architecture/SOA J. Rimland

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

How EDA extends SOA and why it is important

Topics on Web Services COMP6017

Overview. Requirements. Aims. Services and messages. Architecture overview. JBossESB. What are the aims behind JBossESB?

Overview SENTINET 3.1

Linking ITSM and SOA a synergetic fusion

Services Oriented Architecture and the Enterprise Services Bus

Sentinet for BizTalk Server SENTINET

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

Global Reference Architecture: Overview of National Standards. Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants

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

CAS 703 Software Design

e-governance Other Government Central Government Business State Citizen

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

Introduction to Web Services & SOA

<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview

Enterprise Integration Patterns Exemplified in Java Business Integration

Oracle SOA Suite 10g: Services Orchestration

Software Design COSC 4353/6353 DR. RAJ SINGH

Architectural patterns and models for implementing CSPA

Enterprise Architecture Deployment Options. Mark Causley Sandy Milliken Sue Martin

Sentinet for Microsoft Azure SENTINET

Software MEIC. (Lesson 20)

Distribution and Integration Technologies

Enterprise SOA Experience Workshop. Module 8: Operating an enterprise SOA Landscape

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Integrating Legacy Assets Using J2EE Web Services

Quality - The Key to Successful SOA. Charitha Kankanamge WSO2 February 2011

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

CISCO IT DEPARTMENT DEPLOYS INNOVATIVE CISCO APPLICATION- ORIENTED NETWORKING SOLUTION

SUMMARY LAYERED ARCHITECTURE

Introduction to Web Services & SOA

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

Service Interface Design RSVZ / INASTI 12 July 2006

A Mashup-Based Strategy for Migration to Web 2.0

ebusiness Suite goes SOA

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

BPEL Research. Tuomas Piispanen Comarch

Oracle WebLogic Integration

Software MEIC. (Lesson 20)

SOA-20: The Role of Policy Enforcement in SOA Management

02267: Software Development of Web Services

SOA Architect. Certification

* Inter-Cloud Research: Vision

Monitoring services on Enterprise Service Bus

Service Oriented Architectures Visions Concepts Reality

Artix Building Service Oriented Architectures Using Artix

Sentinet for Windows Azure VERSION 2.2

Sentinet for BizTalk Server VERSION 2.2

Oracle SOA Suite 12c: Build Composite Applications

ActiveVOS Technologies

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

COMMUNICATION PROTOCOLS

Oracle Exam 1z0-478 Oracle SOA Suite 11g Certified Implementation Specialist Version: 7.4 [ Total Questions: 75 ]

SOLUTION ARCHITECTURE AND TECHNICAL OVERVIEW. Decentralized platform for coordination and administration of healthcare and benefits

Chapter 13: Architecture Patterns

1Z Oracle IT Architecture SOA 2013 Essentials Exam Summary Syllabus Questions

Building High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways

Service-Oriented Architecture

Oracle Service Bus Integration Implementation Guide Oracle FLEXCUBE Universal Banking Release [April] [2014]

Ellipse Web Services Overview

Every organization faces the challenge of

Artix ESB. Building Service Oriented Architectures Using Artix ESB. Making Software Work Together. Version 5.0 July 2007

Application Connectivity Strategies

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

SOA & Web services. PV207 Business Process Management

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Service-Oriented Architecture (SOA)

Oracle SOA Suite 12c : Build Composite Applications

Think Small: API Architecture For The Enterprise

Middleware definitions and overview

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne

Oracle BPM 11g: Implement the Process Model

Web Services Architecture Directions. Rod Smith, Donald F Ferguson, Sanjiva Weerawarana IBM Corporation

Today: Distributed Objects. Distributed Objects

Architecting the Right SOA Infrastructure

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

Enterprise Java Beans

BEAAquaLogic. Service Bus. JPD Transport User Guide

Software Architecture Patterns

IBM 00M passed

MetaMatrix Enterprise Data Services Platform

Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises

Module Day Topic. 1 Definition of Cloud Computing and its Basics

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA

Next-Generation SOA Infrastructure. An Oracle White Paper May 2007

"Charting the Course... Certified Information Systems Auditor (CISA) Course Summary

The 7 Habits of Highly Effective API and Service Management

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here>

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Transcription:

Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2014.02.28 2014.02.28 Valdas Rapševičius. Java Technologies 1

Outline Introduction to SOA SOA Concepts: Services Loose Coupling Infrastructure SOA Layers MEPs Various Service Aspects SOA Governance Reference: Nicolai M. Josuttis SOA In Practice 2014.02.28 Valdas Rapševičius. Java Technologies 2

Motivation for SOA Distributed business processing Different Owners Heterogeneity Flexibility IT as the key business value enabler

SOA is NOT Concrete architecture it is something that leads to a concrete architecture. Concrete solution can t buy SOA Information technology a Silver Bullet

SOA is a way of information management. A set of principles and methodologies for designing and developing software in the form of interoperable services. (Wikipedia, 2013.02.21) A method of design, deployment and management of applications and software infrastructure where: all software is organized into business services that are network accessible and executable; service interfaces are based on public standards for interoperability. SOA is a strategy that, although it might be driven by IT, always impacts the business as a whole SOA is a software architecture that starts with an interface definition and builds the entire application topology as a topology of interfaces, interface implementations and interface calls Interface-oriented architecture Might call it a style, paradigm, concept, perspective, philosophy, or representation.

Important! Whether you introduce SOA is not what s important The important thing is that the IT solution you introduce is appropriate for your context and requirements of your business

Large Systems SOA is a concept for large distributed systems Large systems deal with legacies maintenance heterogeneous and their data have an incredibly long lifetime complex different owners imperfect redundancy bottlenecks are suicide

Major Elements Services self-contained business functionalities can be part of one or more processes can be implemented by any technology on any platform Specific infrastructure (ESB) Policies and processes

Magic Bus Bus EAI Bus ESB Piece of infrastructure software High interoperability Instead of creating and maintaining individual communication channels between different systems, each system only has to connect to the bus to be able to connect to all other systems.

SOA History 1994: Alexander Pasik, a former analyst at Gartner, coined the term SOA for a class on middleware that he was teaching. Pasik was working before XML or Web Services were invented, but the basic SOA principles have not changed. 1996: Gartner analysts Roy W. Schulte and Yefim V. Natis published the first reports about SOA in 1996. 2000: the real momentum for SOA was created by Web Services, which, initially driven by Microsoft, reached a broader public.

SOA Concepts Services Loose Coupling Infrastructure

Services Activities, Tasks Services Represent Business Functionality Definitions: The performance of work (a function) by one for another (dictionary) A self-contained, stateless business function that accepts one or more requests and returns one or more responses through a well-defined, standard interface (Wikipedia) A service represents a self-contained functionality that corresponds to a real-world business activity (SOA in Practice)

Interface A service is an interface for (multiple) messages that return information and/or change the state of an associated entity (backend) Interface properties: Signature describes the input parameters, output parameters, and possible exceptions. Well defined a consumer of a service must know the complete behavior and semantics of the service. contract the complete specification of a service between a specific provider and a specific consumer.

Interface Types Technically Driven Interface Business-Driven Interface

Service Attributes Self-Contained (independent, autonomous, autarkic) Coarse-Grained Visible/Discoverable Stateless Idempotent Reusable Composable Technical QoS- and SLA-Capable Pre- and Post-Conditions Vendor-Diverse Interoperable Implemented As Web Services?

Loose Coupling It is a principle Minimize dependencies Motivation Scalability Flexibility Fault tolerance

Loose Coupling Examples

Forms of Loose Coupling Asynchronous Communication Heterogeneous Data Types Mediators (Broker or Name Server) Weak Type Checking Binding Platform Dependencies Interaction Patterns Compensation Transactions (not 2PC) Control of Process Logic Deployment Versioning

Enterprise Service Bus (ESB) Major piece of OSA infrastructure Tasks: Providing connectivity Data transformation (Intelligent) routing Dealing with security Dealing with reliability Service management Business Activity Monitoring (BAM) Service Orchestrating, BPEL Monitoring and logging

Heterogeneous ESB

ESB: Point-to-Point vs Mediation

ESB: Interceptors

ESB: Protocol vs API

Service Layers Fundamental SOA First stage of expansion Basic services Federated (networked) SOA Micro-flow Orchestration or composition layer Second stage of expansion Basic and composed services Process-enabled SOA Macro-flow Third stage of expansion Basic, composed and process services

Basic Services Guidelines for achieving an optimum level of granularity for a lowest level service: describe the service in terms of function, information, goals, and rules, but not in terms of groups of other services single responsibility role self-contained as possible. Ideally autonomous. ACID principle Types: Basic Data Services Basic Logic Services

Basic Data Services Read or write data from or to one backend system. Represent a fundamental business operation of the backend. Examples: Create a new customer Change the address of a customer Return the address of a customer Create a new contract/portfolio/account Return a list of customers according to some search criteria Return a customer s balance Send an ordered item to a customer Return the number of customers Return details on a customer s payment practices

Basic Logic Services Basic logic services represent fundamental business rules Examples: Define product catalogs and price lists Define rules for changing customer contracts Return whether a year is a leap year Define allowed dates

Fundamental SOA

Composed Services Orchestrated services Orchestration - composing new services out of existing services Micro flow: Short-term running Stateless Transactions: Two-phase commit (2PC) Compensation Examples: Updates redundant data on multiple backends Money transfer from one backend to another

Federated SOA

Process Services Long-term workflows or business processes. Macro-flow: Long-running flow of activities (services) Interruptible (by human intervention) Stateful In the Backend In the Service Examples: Shopping cart Insurance policy purchase

Process-enabled SOA

BPM

Choreography Orchestration: One central controller that coordinates all the activities of the process Composite pattern, which means that the whole composition itself can be used as a service Choreography: No process control Not identified as a whole Used in Business process chains Event-driven architecture (EDA)

Example (1)

Example (2)

Example (3)

Message Exchange Patterns Basic MEPs Request/Response One way Complicated MEPs Request-Callback Publish-Subscribe

Request-Response MEP

One-Way MEP

Request/Callback MEP

Reliability

Service Lifecycle

Versioning Domain Versioning Trivial (new version = new service) Non-Trivial (i.e. backwards compatibility) Configuration-Management-Driven Versioning Pick required interface from VCS Data Types Versioning Use different types for typed interfaces Use the same types for typed interfaces Use generic code so that type differences don t matter

Performance ESB slows calls 5 to 10 times Techniques: Call Constraints Custom services

Customized Services 2014.02.28 Valdas Rapševičius. Java Technologies 46

Security Characteristics: Authentication (A) Authorization (A) Confidentiality Integrity Availability Accounting (A) Auditing Security is often neglected: Requires effort Impossible to achieve absolute security (except by disconnecting systems) Usual security mechanisms for the Internet (firewalls and special protocols such as SSL) are enough. Infrastructures provide enough security Not clear whether security is an issue for the infrastructure team or the business teams. 2014.02.28 Valdas Rapševičius. Java Technologies 47

SOA & Security Policy Decision Point Policy Enforcement Point Transport protocols (https) Message protocols DMZ 2014.02.28 Valdas Rapševičius. Java Technologies 48

Stateless Services 2014.02.28 Valdas Rapševičius. Java Technologies 49

Stateful Services 2014.02.28 Valdas Rapševičius. Java Technologies 50

Idempotency 2014.02.28 Valdas Rapševičius. Java Technologies 51

Governance Goals: Making sure that people do what s right. Controlling the development and operation of software. Technical Tasks: Documentation Service management Monitoring Change and configuration management Non Technical Tasks: Visions, objectives, business case, and funding model Reference architecture(s) Roles and responsibilities Policies, standards, and formats Processes and lifecycles 2014.02.28 Valdas Rapševičius. Java Technologies 52

Policy Example 2014.02.28 Valdas Rapševičius. Java Technologies 53

Establishing SOA SOA Steps (Josuttis): Understand SOA SOA Pilot Second and third SOA projects Become the General Strategy The Four Ps (Pulier and Taylor) All people have to learn about the principles of SOA and their associated technologies. A pilot project helps to prove the concept. A flexible multiphased project plan will help to integrate and validate the SOA strategy in a day-to-day business. Based on the first three Ps, you proceed by establishing SOA via actual developments. Architectural Roadmap (Krafzig, Banke, and Slama): Fundamental SOA (SOA with basic services only) Networked SOA (SOA with composed/orchestrated services) Process-enabled SOA (SOA with process services) 2014.02.28 Valdas Rapševičius. Java Technologies 54

SOA Maturity 2014.02.28 Valdas Rapševičius. Java Technologies 55

Conclusions Is SOA something new? You can not buy SOA Distributed computing increase complexity Recent trends: Distributed computing costs Loose coupling costs ROA RESTful APIs 2014.02.28 Valdas Rapševičius. Java Technologies 56