Service Oriented Architecture An Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager.

Slides:



Advertisements
Similar presentations
House of Fraser Real World Experience Using Microsoft Technology
Advertisements

ATAM Architecture Tradeoff Analysis Method
BI & SOA Arnon Rotem-Gal-Oz Ofer Azoulay Yoram Kahana.
Web Services Architecture An interoperability architecture for the World Wide Service Network.
Presented to: By: Date: Federal Aviation Administration Registry/Repository in a SOA Environment SOA Brown Bag #5 SWIM Team March 9, 2011.
REST Introduction 吴海生 博克软件(杭州)有限公司.
Siebel Web Services Siebel Web Services March, From
Chapter 19 – Service-oriented Architecture
Lecture 6: Software Design (Part I)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Systems Analysis and Design in a Changing World
By Philippe Kruchten Rational Software
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
Independent Insight for Service Oriented Practice Communicating SOA.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
The Architecture Design Process
Enterprise Architecture The Arkansas Approach. Key Areas What is enterprise architecture? Why is it important? How you can participate Current status.
Service-oriented architecture. The Basic main concepts –Service-orientation describes an architecture that uses loosely coupled services to support the.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Chapter 10 Architectural Design
The Design Discipline.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
An Introduction to Software Architecture
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Chapter 6 Architectural Design.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Random Logic l Forum.NET l Web Services Enhancements for Microsoft.NET (WSE) Forum.NET ● October 4th, 2006.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Enterprise Integration Patterns CS3300 Fall 2015.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Technical Support to SOA Governance E-Government Conference May 1-2, 2008 John Salasin, Ph.D. DARPA
Dhananjay Kumar MVP-Connected System 1. WCF  Agenda What is WCF ? Why WCF? Address, Binding, Contract End Points Hosting Message Patterns Programming.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 SOA Seminar Seminar on Service Oriented Architecture SOA Reference Model OASIS 2006.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Introduction to Service
Architecture Arnon Rotem-Gal-Oz Product Line Architect
Software Architecture and Quality BY
Sabri Kızanlık Ural Emekçi
OO Methodology OO Architecture.
Software Design and Architecture
Distribution and components
Enterprise Application Integration Styles
Service-centric Software Engineering 1
An Introduction to Software Architecture
Distributed Systems through Web Services
Design Yaodong Bi.
Distributed System using Web Services
Design.
Presentation transcript:

Service Oriented Architecture An Introduction Arnon Rotem-Gal-Oz Biometrics Line Development Manager

What is Software Architecture

What is Architecture Formal Definition IEEE IEEE Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution IEEE

collection of the fundamental decisions about a software product/solution designed to meet the projects quality attributes collection of the fundamental decisions about a software product/solution designed to meet the projects quality attributes Includes the main components, their main attributes, and their collaboration Includes the main components, their main attributes, and their collaboration expressed in several levels of abstraction (depending on the project's size). expressed in several levels of abstraction (depending on the project's size). Architecture is communicated from multiple viewpoints Architecture is communicated from multiple viewpoints What is Software Architecture

Architecture is Early Architecture represents the set of earliest design decisions Architecture represents the set of earliest design decisions Hardest to change Hardest to change Most critical to get right Most critical to get right Architecture is the first design artifact where a systems quality attributes are addressed Architecture is the first design artifact where a systems quality attributes are addressed

Why Architecture? Architecture serves as the blueprint for the system but also the project: Architecture serves as the blueprint for the system but also the project: Team structure Team structure Documentation organization Documentation organization Work breakdown structure Work breakdown structure Scheduling, planning, budgeting Scheduling, planning, budgeting Unit testing, integration Unit testing, integration Architecture establishes the communication and coordination mechanisms among components Architecture establishes the communication and coordination mechanisms among components

Quality Attributes

How Architecture Architecture QualityAttributes Technology Patterns & Anti-patterns Principles CommunityexperienceCommunityexperience StakeholdersStakeholders ArchitectArchitect people A deliverable ProduceKey Is an input Constraints

What is a Service (1) Merriam-Webster A facility supplying some public demand A facility supplying some public demand the work performed by one that serves HELP, USE, BENEFIT the work performed by one that serves HELP, USE, BENEFITservesHELPUSE BENEFITservesHELPUSE BENEFIT HMM..

What is a Service (2) In economics and marketing, a service is the non- material equivalent of a good. Service provision has been defined as an economic activity that does not result in ownership, and this is what differentiates it from providing physical goods. In economics and marketing, a service is the non- material equivalent of a good. Service provision has been defined as an economic activity that does not result in ownership, and this is what differentiates it from providing physical goods. It is claimed to be a process that creates benefits by facilitating either a change in customers, a change in their physical possessions, or a change in their intangible assets. It is claimed to be a process that creates benefits by facilitating either a change in customers, a change in their physical possessions, or a change in their intangible assets. en.wikipedia.org/wiki/Service

What is a service (3) A Windows Service? A Windows Service? RPC Locator, EventLog, DHCP Client, RPC Locator, EventLog, DHCP Client, Software Service? Software Service? Distribution Service, Alert Service Distribution Service, Alert Service Security Service, Log Service Security Service, Log Service Business Service? Business Service? Common Operational Picture, Navigation Common Operational Picture, Navigation Accounts Receivable, Customers Accounts Receivable, Customers

SOA isnt a solution to world hunger Nor is it: A specific Technology A specific Technology The Ultimate answer to reuse The Ultimate answer to reuse A New name for EAI A New name for EAI A New way to do RPC A New way to do RPC

ASB BLT HDL AFTTGI FRY DRW SWG QYDDLY BST WIU ASB ZISXOICUI RMO DLY XPS KYF KFC WHR JIA GEX FQAVUH HCO WKD ECP SKD MFP WCP DKEAJT Big SOA Analyze the business

ASB BLT HDL AFTTGI FRY DRW SWG QYDDLY BST WIU ASB ZISXOICUI RMO DLY XPS KYF KFC WHR JIA GEX FQAVUH HCO WKD ECP SKD MFP WCP DKEAJT Big SOA Identify Business Areas COP Navigation Protectors Alerts

Big SOA Map to software "Network" COPCOP Nav.Nav. AlertsAlerts Prot.Prot.

Little SOA Architectural Style Architectural Style For building distributed systems For building distributed systems Loosely coupled components Loosely coupled components Our focus from here onward… Our focus from here onward…

Service describes End Point Exposes Messages Sends/Receives Contracts Binds to ServiceConsumer implements Policy governed by Sends/Receives Adheres to Component Relation Key Understands Serves

Services and Systems A service is a program you interact with via message exchanges A service is a program you interact with via message exchanges A system is a set of deployed services cooperating in a given task A system is a set of deployed services cooperating in a given task

A Service edge is a natural boundary Warning: Remoting and other RPCs trick us into thinking that there is no substantial difference between a local and a remote object. In fact, they hide the presence of the network.

Fallacies of distributed Computing The Network is reliable Latency is zero Bandwidth is infinite The Network is Secure Topology doesnt change There is one administrator Transport cost is zero The Network is homogenous

Services are Autonomous

X

The fact that I can, doesnt mean I will. Policies

Organization A Organization B PolicyPolicy Policy Illustrated Buyer Service Local Service Seller Service Runtime contract Runtime Contract 1. Use X.509 Cert for AuthN 2. Use UTF-8, SOAP 1.2 … Policy 1. Supports X.509 Cert or Kerberos ST for AuthN 2. Supports UTF-8, UTF-16, SOAP 1.2, 1.1 … Adopted from Clemens Vasters Design time Contract 1. Youll send a PO 2. Ill send a confirmation …

Endpoint

Its all about the Message, baby!

Messages travel in no mans land!

Is he Idempotent? MessagesGetRetransmittedMessagesArrive More than once

Idempotence Idempotent Means Its OK to Arrive Multiple Times Idempotent Means Its OK to Arrive Multiple Times As Long as the Request Is Processed at Least Once, the Correct Stuff Occurs As Long as the Request Is Processed at Least Once, the Correct Stuff Occurs In Todays Internet, You Must Design Your Requests to Be Idempotent In Todays Internet, You Must Design Your Requests to Be Idempotent Not Idempotent Baking a Cake Starting from Ingredients Naturally Idempotent Sweeping the Floor Naturally Idempotent Read Record X Idempotent If Havent Yet Done Withdrawal #XYZ for $1 Billion, Then Withdraw $1 Billion and Label as #XYZ Not Idempotent Withdrawing $1 Billion Idempotent Baking a Cake Starting from the Shopping List (If Money Doesnt Matter) Pat Helland

Message Exchange Patterns

Request/Reply Request/Reaction VS

Decoupled Invocation Pattern

ServiceContract

Keep Data and state private

Big SOA is about business alignment Big SOA is about business alignment Little SOA is an Architectural Style Little SOA is an Architectural Style Autonomous Coarse Grained Components Autonomous Coarse Grained Components Message based Interactions Message based Interactions Run-Time configuration Run-Time configuration

Whats next SOA Structural Patterns SOA Structural Patterns SOA Interaction Patterns SOA Interaction Patterns UI Interaction Patterns UI Interaction Patterns Service Composition Patterns Service Composition Patterns Contract Anti-patterns Contract Anti-patterns Service Anti-patterns Service Anti-patterns SOA Performance Anti-Patterns SOA Performance Anti-Patterns