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

Similar documents
C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

ActiveVOS Technologies

Services Oriented Architecture and the Enterprise Services Bus

Web Services Development for IBM WebSphere Application Server V7.0

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

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

Oracle Developer Day

(9A05803) WEB SERVICES (ELECTIVE - III)

Service Interface Design RSVZ / INASTI 12 July 2006

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

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

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

CmpE 596: Service-Oriented Computing

<Insert Picture Here> Click to edit Master title style

Overview SENTINET 3.1

Service-Oriented Architecture (SOA)

BEAAquaLogic. Service Bus. JPD Transport User Guide

Programming Web Services in Java

Web Services Security. Dr. Ingo Melzer, Prof. Mario Jeckle

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

Smarter Business Agility with WebSphere DataPower Appliances Introduction

Artix Building Service Oriented Architectures Using Artix

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

IEC : Implementation Profile

J2EE APIs and Emerging Web Services Standards

BPEL Research. Tuomas Piispanen Comarch

WebSphere MQ Update. Paul Dennis WMQ Development 2007 IBM Corporation

Enterprise Integration Using IEC

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

Software Design COSC 4353/6353 DR. RAJ SINGH

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

SOAP Specification. 3 major parts. SOAP envelope specification. Data encoding rules. RPC conventions

Using IBM DataPower as the ESB appliance, this provides the following benefits:

Oracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo

This presentation is a primer on the BPEL Language. It s part of our series to help prepare you for creating BPEL projects. We recommend you review

: ESB Implementation Profile

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

Distribution and web services

Sentinet for BizTalk Server SENTINET

WEB-202: Building End-to-end Security for XML Web Services Applied Techniques, Patterns and Best Practices

Naming & Design Requirements (NDR)

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

Semantic SOA - Realization of the Adaptive Services Grid

IEC Implementation Profiles for IEC 61968

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

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Web Services. Chirag Mehta

Oracle SOA Suite 10g: Services Orchestration

Topics on Web Services COMP6017

Service Oriented Architecture

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

Web Services: Introduction and overview. Outline

e-governance Other Government Central Government Business State Citizen

Introduction to Web Services & SOA

WWW, REST, and Web Services

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

5.3 Using WSDL to generate client stubs

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

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

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

Lesson 15 SOA with REST (Part II)

IEC Overview CIM University UCAIug Summit Austin, TX. 18 November 2011

02267: Software Development of Web Services

Enterprise Architecture Deployment Options. Mark Causley Sandy Milliken Sue Martin

RESTful Web service composition with BPEL for REST

Service Oriented Architectures Visions Concepts Reality

Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC

Introduction to Web Services & SOA

Information Quality & Service Oriented Architecture

IBM Rational Application Developer for WebSphere Software, Version 7.0

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

ORACLE INTRODCUTION. Service Bus 11g For the Busy IT Professional. munz & more Dr. Frank Munz November getting started

Leverage SOA for increased business flexibility What, why, how, and when

Using JBI for Service-Oriented Integration (SOI)

Identity-Enabled Web Services

Australian Journal of Basic and Applied Sciences

Workshop on Web of Services for Enterprise Computing

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

JD Edwards EnterpriseOne Tools

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

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

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

Building Web Services in Java

Oracle SOA Suite 11g: Build Composite Applications

Developing Web Services. Lalith Subramanian and Don Robertson

Architectural patterns and models for implementing CSPA

Chapter 8 Web Services Objectives

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


SHORT NOTES / INTEGRATION AND MESSAGING

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

Sentinet for Microsoft Azure SENTINET

DISTRIBUTED COMPUTING

Software MEIC. (Lesson 20)

This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this

Web Services Overview

The Now Platform Reference Guide

WebServices the New Era

SOA: Service-Oriented Architecture

Lesson 5 Web Service Interface Definition (Part II)

Transcription:

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 John Hohwald Slide 1

Definitions and Terminology What is SOA? SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners. [xml.com[ xml.com] Characteristics o Documented and discoverable interfaces (APIs) o Standards-Based o Infrastructure neutral use of H/W, OS, and S/W used to implement the service is encapsulated from the service consumer What is a Web Service? A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols [w3.org] Web-Enabled does NOT EQUAL Web Service nor SOA Slide 2

Key Standards (WS-I) Additional Capabilities Management Portals Business Process Orchestration Composition/Orchestration Composable Service Elements WS-Security Reliable Messaging Transactionality Messaging Description Invocation Transports Endpoint Identification, Publish/Subscribe XML Schema, WSDL, UDDI, SOAP with Attachments XML, SOAP HTTP, HTTPS, Others Slide 3

WSDL Styles A WSDL document describes a web service A SOAP message is used to invoke a web service WSDL-to to-soap Binding Style includes the following RPC/Encoded RPC/Literal Document/Literal Document/Literal wrapped (design pattern) o Better performance; no overloaded operations; WS-I Basic Profile compliant Transport Protocols Synchronous HTTP, HTTPS, RMI/IIOP, SMTP More appropriate for Request/Response message pattern Asynchronous JMS, IBM MQSeries, MS Messaging (MSMQ) Reliable delivery at transport level needed for guaranteed delivery Slide 4

Messaging Exchange Patterns Based Upon WSDL 1.1 Specification One-Way: Endpoint receives a message Request/Response: Endpoint receives a message, and sends a correlated message (usually correlated-id) Solicit/Response: Endpoint sends a message, and receives a correlated message Notification: Endpoint sends a message More complex patterns can be constructed from these four patterns Application-level level logic agreed to among provider and consumers (e.g. who will provide the correlator_id) Slide 5

SOAP, REST Simple Object Access Protocol (SOAP) Envelope for XML-Document Payload Protocol for encapsulating and passing data in a platform-neutral manner Uses POST command when transport is HTTP; other transports protocols possible Supports discovery and documentation via Universal Description, Discovery and Integration (UDDI) compliant registry Representational State (REST) REST HTTP Describes a style for creating web services using HTTP request methods m (GET, POST, PUT, DELETE) Easier to code and develop: Similar to common web pages Do not lend themselves to self-discovery or description in a UDDI-compliant registry More suited to data access (query) services on a reliable, internal nal Intranet Slide 6

UDDI and Service Registries UDDI Standard One of the core Web Services S standards. It is designed to be interrogated by SOAP messages and to provide access to WSDL documents describing the protocol bindings and message formats required to interact with the web services s listed in its directory. Service Registry Implementation Design Principles: Deploy both Public and Private Registries Employ both Design-Time Discovery, but Run-Time Binding Service Consumer UDDI SOAP Request UDDI SOAP Response UDDI-BASED SERVICE DISCOVERY Service Provider HTTP Server UDDI Registry Server SOAP Processor businessentity Info on the service Provider UDDI CORE DATATYPES businessservices Descriptive info on a Family of services bindingtemplate Service entry point & Implementation tmodel Descriptions of specs For services Slide 7

Utilizing Existing Software SOA is nearly ideal for leverage legacy software investments SOA COTS tools (e.g. IBM Websphere, BEA Weblogic, etc.) on the market are JAVA-centric (aside from Microsoft IIS which is.net) Wrapping existing software, e.g. C or C++ code gsoap, AXIS provide tools for automatically generating SOAP/XML C/C++ language bindings Using Software Adapters Separate module which proxies between legacy application and ESB (Enterprise Service Bus) infrastructure WSDL WSDL FIND Services UDDI Services Registry UDDI Registry BIND PUBLISH Service Consumer Service Consumer HTTP Server Firewall SOAP Processor Adapter Adapter Legacy Applications Legacy Applications Slide 8

Deciding what is and what is not a service Requires domain expertise art, not a science Coarse-grained versus fine-grained determination Not all functionality should become a service Some functionality remains internal in an infrastructure-aware aware framework focused on a given functional area (e.g. Command & Control) Functionality Taxonomy in an SOA Software Category 1 2 3 4 5 Software/Service Category Description In-Line Software Functionality Utility common to a given functionality framework: exposed in a shared library accessible to the framework Service common to a given functionality framework: exposed in a Service Registry accessible to that framework Utility common to the entire ground enterprise Service common to or exposed across the ground enterprise: exposed in an internal Services Registry 6 Service common to or exposed to external partners outside the ground enterprise: exposed in an external Services Registry A utility represents a common piece of linked-in software used by multiple applications (historic software reuse). A service represents a separately hosted and invoked piece of functionality accessed through a predefined and published API. Primarily this access mechanism will be web-based. Slide 9

Development of Web-Based Services and Applications Generally, coarse-grained services are to be preferred Fine-grained, chatty or conversational services can be performance-challenged challenged Maintaining state over a multi-exchange conversation requires additional complexity Simple, stateless, and coarse-grained are the easiest to debug and deploy Techniques to help Fine-Grained: e.g. AJAX Asynchronous JavaScript and XML (AJAX) works with the service consumer being a browser-supported supported display Mission-Based Applications from Simple Services Simple, stateless services, in themselves are often not sufficient to accomplish realistic mission needs Orchestration of services into useful mission applications accomplished via tools utilizing Business Process Execution Language (BPEL) Slide 10

SecuritySecurity Critical component of any enterprise level or cross-enterprise web service Existing transport level security mechanisms Firewalls, PKI, SSL provide for user authentication and point-to to-point security between web-browser browser and web service: data is protected only while in transit Web services, with potential for intermediaries demand end-to to-end security Needed: Message level security for SOAP/XML documents Signing and encrypting an XML document or portions of a document SOAP message filtering based upon content examination: XML Firewall/Guard Standards WS-Security: Security: OASIS standard for SOAP extensions to provide end-to to-end security framework SAML 2.0: OASIS standard for exchanging tokens in a vendor neutral format for authentication and authorization XML Encryption: W3C standard to allow encryptions of portions of an XML document XML Signature: W3C standard to digitally sign portions of an XML document XML Firewalls Content level examination; e.g. DataPower, Reactivity, etc. Slide 11

Performance Considerations XML tagging greatly expands message size 12X expansion factor experienced, although this can vary depending ng upon the complexity of the XSD associated with the payload content Impacts performance via message parsing time and transport time Vendors addressing via XML compression and XML Gateways (e.g. Reactivity, DataPower) Need to prototype and benchmark critical timelines Handling Large Data Objects Web Services are not ideal for sending/distributing large binary files Standards are evolving to help address this shortcoming XML-binary Optimized Packaging (XOP), Message Transmission Optimization ion Mechanism (MTOM), and Resource Representation SOAP Header Block (RRSHB) o W3C Standards Enables SOAP bindings to optimize the transmission or wire format t used to transfer a SOAP enveloped message [SOAP 1.2 Standard] Slide 12

Handling Heterogeneous Infrastructure Large Benefit of SOA Choose the infrastructure (H/W, OS, S/W, COTS) for a given framework area (Command & Control, Planning & Schedule, Data Processing, Tools & Analysis, etc.) most appropriate to the functional demands in that area Exchange data and communicate between frameworks via infrastructure ure-neutral services over an ESB Interoperability is the key to data sharing and collaboration Standards-driven driven interoperability based upon universal adoption of key technologies: WSDL, SOAP, XML, UDDI; not adopting a common infrastructure Standards-driven driven interoperability is distinct from and superior to Infrastructure Franchising which requires a core set of identical infrastructure (S/W, COTS, etc.) in order to interoperate Slide 13

Services Governance Use of services within an ground enterprise creates greater interdependencies Interdependencies need to be managed by governance policies Testing and deployment of new services Service Level Agreements (SLA) relative to Quality of Service (QOS) o Performance, Availability, Accuracy, etc. o Tools for measurement and enforcement SLAs Upgrading or modifying existing services Retirement of obsolete services Increased need for joint testing and validation Slide 14

Summary and Conclusions of SOA (Pros/Cons) PROS(+) Standards driven Infrastructure-Neutral o Supports ground systems recapitalization efforts o Avoids vendor lock-in Promotes data sharing and interoperability Cost benefits due to common service reuse Good for encapsulating and exposing legacy functionality CONS(-) Message size increases due to XML expansion and associated performance rmance Ability to handle large binary data files Intense standards competition and evolution Greater interdependencies drives need for extra governance policies ies Slide 15