UNITE 2007 Technology Conference

Similar documents
UNITE 2006 Technology Conference

Concepts of Web Services Security

UNITE 2003 Technology Conference

(9A05803) WEB SERVICES (ELECTIVE - III)

Identity-Enabled Web Services

Berner Fachhochschule. Technik und Informatik. Web Services. An Introduction. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel

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

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

Service Oriented Architectures Visions Concepts Reality

MGS Web Services for Unisys MCP Systems (MGSWeb)

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

A Signing Proxy for Web Services Security

zentrale Sicherheitsplattform für WS Web Services Manager in Action: Leitender Systemberater Kersten Mebus

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

How to Overcome Web Services Security Obstacles

Sistemi ICT per il Business Networking

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

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

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

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

Introduction to Web Services & SOA

CICS solutions White paper Delivering e-business access to CICS: strategic options.

Distribution and web services

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

BEAAquaLogic. Service Bus. JPD Transport User Guide

Introduzione ai Web Services

Web Applications. Web Services problems solved. Web services problems solved. Web services - definition. W3C web services standard

1.264 Lecture 16. Legacy Middleware

ArcGIS Server and Portal for ArcGIS An Introduction to Security

Introduction to Web Services & SOA

Federated Web Services with Mobile Devices

Identität und Autorisierung als Grundlage für sichere Web-Services. Dr. Hannes P. Lubich IT Security Strategist

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Application Connectivity Strategies

COP 4814 Florida International University Kip Irvine. Inside WCF. Updated: 11/21/2013

What s new with EntireX Communicator 7.3 Rolf Bahlke crossvision Chief Architect

Ellipse Web Services Overview

Computational Web Portals. Tomasz Haupt Mississippi State University

DISTRIBUTED COMPUTING

Smarter Business Agility with WebSphere DataPower Appliances Introduction

IP PBX for Service Oriented Architectures Communications Web Services

CmpE 596: Service-Oriented Computing

UCSD Extension. Fundamentals of Web Services. Instructor: John Pantone. 2007, Objectech Corporation. All rights reserved

WHITESTEIN. Agents in a J2EE World. Technologies. Stefan Brantschen. All rights reserved.

Incorporating applications to a Service Oriented Architecture

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

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications

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

Web Services Overview

Göttingen, Introduction to Web Services

Leveraging Web Services Application Integration. David S. Linthicum CTO Mercator

API Security Management SENTINET

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Lesson 15 SOA with REST (Part II)

Semantic SOA - Realization of the Adaptive Services Grid

Oracle Fusion Middleware

UNITE Minneapolis

Chapter 17 Web Services Additional Topics

SOA-Tag Koblenz 28. September Dr.-Ing. Christian Geuer-Pollmann European Microsoft Innovation Center Aachen, Germany

SHORT NOTES / INTEGRATION AND MESSAGING

Scott Lowden SAP America Technical Solution Architect

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Web Services. Brian A. LaMacchia. Software Architect Windows Trusted Platform Technologies Microsoft Corporation

Lesson 13 Securing Web Services (WS-Security, SAML)

Programming Web Services in Java

Cloud Computing Chapter 2

Ramnish Singh IT Advisor Microsoft Corporation Session Code:

Chapter 4 Communication

Services Oriented Architecture and the Enterprise Services Bus

Bloombase Spitfire SOA Security Server

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 6, Nov-Dec 2015

Migration to Service Oriented Architecture Using Web Services Whitepaper

DS 2009: middleware. David Evans

RESTful Web service composition with BPEL for REST

IBM CICS Transaction Gateway for Multiplatforms V7.1 delivers access to CICS containers and extended systems monitoring capabilities

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

IP-PBX for Service Oriented Architectures Communications Web Services


API Security Management with Sentinet SENTINET

CA SiteMinder Web Services Security

WEB Service Interoperability Analysis and Introduction of a Design Method to reduce non Interoperability Effects

Microsoft TS: Windows Server 2008 Applications Infrastructure, Configuration

SOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the?

IMS ES 2.2 SOAP Gateway

WSDL Interface of Services for Distributed Search in Databases

SOA: Service-Oriented Architecture

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

WA1670 SOA Testing Workshop. Student Labs. Web Age Solutions Inc.

1. Introduction and Concepts

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

DEVELOPER GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016

02267: Software Development of Web Services

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

Developing Agility. Developing Agility. The Quarterly Newsletter for Unisys EAE and Agile Business Suite Clients. Contents

Web Services. GC: Web Services-I Rajeev Wankar

Composer Help. Web Request Common Block

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

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Transcription:

UNITE 2007 Technology Conference Some Considerations for MCP Applications using Web Services Michael S. Recant MGS, Inc. Session MCP4027 1:30pm 2:30pm Monday, September 10, 2007

MGS, Inc. Software Engineering, Product Development & Professional Services firm founded in 1986 We provide products and services to solve business problems: Software Engineering Services Professional Services Management Support Services Consulting and Technical Services Application Development Services Product Development Performance/Capacity Management Web Services MCP Client Access 2

Web Services In this presentation you will learn about The Vision and the Reality Services Oriented Architecture The Business Case General Web Service Technology MCP Implementations Resiliency Issues Performance Considerations Security Considerations 3

Web Services The Vision Goal Make Internet program-to-program exchanges as easy as browsing the Web Client Program The Internet Web Service 4

Web Services The Vision Internet based Universal directory (like TCP/IP host name services) Loose Coupling between service provider and service consumer Anonymous client Service discovery Flexible data content asynchronous Charge per service Create a world-wide fabric of computing services (and commerce) 5

Web Services The Reality Mission critical applications cannot depend on: the Internet vended services the hope that someone is vending needed services the hope that vended services operate exactly as the business requires Business interfaces do not benefit from: Dynamic service discovery Data flexibility 6

Web Services The Reality However, the Web Services concept contains extremely powerful elements: Simple, well-defined, standardsbased interface Technology independent implementation Each set of services has a description file Integrated directory of service descriptions and documentation 7

Services Oriented Architecture Services Oriented Architecture (SOA) Componentize new Enterprise business functions Encapsulate existing business functions for easier access IT Functionality now available as a set of objects that can be mixed and matched as needed Application development done by architecting service consumers Avoids tying a user to a specific application implementation Avoids tying data to a specific application implementation 8

Traditional Architecture Import/ Export Import/ Export Application #1 Application #2 Application #3 Application #4 Silo Silo Legacy Legacy New App Silo Silo Silo Legacy Silo Silo Legacy New App Silo Users Users Users Users 9

Services Oriented Architecture Users Users Users Users Users Business Application #1 Business Application #2 Service #1 Service #2 Service #3 Service #4 Silo App Silo App Legacy App Legacy App New App Silo App Silo App Silo App Legacy App Silo App Silo App Legacy App New App Silo App 10

Web Services- Business Case Provides SOA building blocks Simpler and more flexible then open transaction protocols EDI Electronic Data Interchange DTP Distributed Transaction Processing (OLTP) Not technology dependent RPC Remote Procedure Calls DCOM Distributed Component Object Model RMI Remote Method Invocation CORBA Common Object Request Broker Architecture 11

Web Services- Business Case Web Service Client Web Service A New System #1 Web Service B Web Service C New System #2 Current System #3 Web Service D Current System #3 Current System #4 New Business Components Encapsulated Existing Solutions Web Service E 12

Web Services- Business Case Built on proven Internet communications standards HTTP HyperText Transfer Protocol SOAP protocol XML extensible Markup Language Includes service description and service directory WSDL Web Services Description Language UDDI Universal Description, Discovery and Integration 13

Web Services- Business Case Supported by software IDEs Discovery of service Automatic creation of Web Services client objects Web Services Server object support WSDL generation UDDI update Server program 14

Web Services- Business Case Supported by software IDEs Included as part of the application framework Microsoft.NET Sun Microsystems J2EE Unisys EAE (AB Suite) Support for MCP 3GL Applications MGS-Web Unisys eportal SBG Web Services Gateway 15

Web Services- Business Case Software IDE Server Development Service Directory Service Description Client Program Web Service Server Program Browse Directory Software IDE Client Development 16

Web Services- Business Case Abstracts out business functionality Creates machine (technology) independent functionality Indirect reference to service Trivial to re-locate the business function or functions Improved scalability Improved ability to re-host 17

Web Services- Business Case Leverage existing business functionality Rewrites are expensive Redesigns are even more expensive Placing a Web Services envelope around existing functionality is relatively inexpensive Preserves investment in known, reliable business solutions 18

Web Services - Technology Development components: Business function (application) Web Service definition (WSDL) Web Service directory (UDDI) Web Service enabled IDE UDDI browser Create client objects from WSDL Create Web Services servers Runtime components Client application program HTTP or HTTPS Server SOAP envelope XML data request/response Server application program 19

Web Services- Technology Directory contains Web Service description and documentation UDDI Universal Description, Discovery and Integration WSDL Web Services Description Language UDDI specifies location of the Web Service description For use with HTTP Includes web server host name Includes WSDL name 20

Web Services- Technology Software IDE Create Server Server Program UDDI Protocol Copy or FTP UDDI Database UDDI Server Web Server WSDL File UDDI Protocol HTTP Protocol Web Service URI of WSDL Software IDE Create Client Client Program 21

Web Services- Technology WSDL File Excerpt: <message name="wstest_scrn01"> <part name="trancode" type="xsd:string" /> <part name="input_data" type="xsd:string" /> </message> <message name="wstest_scrn01response"> <part name="trancode" type="xsd:string" /> <part name="input_data" type="xsd:string" /> <part name="statusline" type="xsd:string" /> </message> <service name="comswebservices"> <documentation>access COMS applications via Web Services </documentation> <port name="wstest" binding="wsdl:wstesthttpbinding"> <soap:address location="http://laptop1mcp/comswebservices/" /> </port> </service> 22

Web Services Technology Web Services is built on Internet communications standards HTTP HyperText Transfer Protocol SOAP protocol XML extensible Markup Language Web service is addressed with the server s URI obtained from the WSDL 23

Web Services Technology Input Data SOAP Request HTTP Request Web Services Client Process Response Indicates XML Encoding HTTP or HTTPS Web Server Proprietary Process Request Web Services Server Output Data SOAP Response HTTP Response 24

Web Services Technology SOAP Request: <soap:envelope> <soap:body> <tns:wstest_scrn01> <Trancode>SCRN01</Trancode> <InputData>lower case letters</inputdata> </tns:wstest_scrn01> </soap:body> </soap:envelope> SOAP Response: <soap:envelope> <soap:body> <tns:wstest_scrn01response> <Trancode>SCRN01</Trancode> <InputData>LOWER CASE LETTERS</InputData> <statusline /> </tns:wstest_scrn01response> </soap:body> </soap:envelope> 25

Web Services - MCP MCP Web Services Server Allow MCP functionality to be easily accessed from the rest of the Enterprise Can be done with minimal/no MCP code changes Extends value of corporate investment in MCP environment Allows MCP functionality to migrate to an Service Oriented Architecture (SOA) MCP Web Services Client Web Services Client interface allows MCP environment to use existing Enterprise SOA functionality 26

Web Services - MCP 3GL Support Wintel Gateway Server (eportal, SBG) MCP Based Client & Server (MGSWeb) EAE (AB Suite) Integration Both Web Services Server and Client Uses Wintel Gateway 27

Web Services Server - MCP MCP Apps as Web Services Requires some form of wrapper around the MCP functionality Wrapper allows Web Service request to be routed to/from MCP application Non-proprietary Connection to MCP applications via COMS COMS Station TP-to-TP (may require small TP change) Proprietary Connections to applications Library Port File TCP/IP Port RATL (EAE) 28

Web Services Server - MCP Web Services Server via a Wintel Gateway Intel hardware Windows OS, IIS Web Services using.net (most cases) Backend Module to Communicate to MCP Gateway to MCP Communications Telnet Terminal Emulation CCF Terminal Emulation Proprietary TCP/IP port/protocol 29

Web Services Server - MCP Web Services Server via a Wintel Gateway MCP Server TelnetSupport, CCF, Proprietary MCP Communications Windows Server TP-to-TP T27 PSH Web Services Server Application Gateway TP MCP APP C O M S IIS Client Application Database Web Services Client Application 30

Web Services Server - MCP MCP Based Web Service Web Service Server runs under MCP control Routes to MCP App via COMS station or COMS TP-to-TP T27 interface (COMS station) requires no existing code changes TP-to-TP is more efficient (no screen scraping) and allows for larger data interchange 31

Web Services Server - MCP MCP Based Web Service MCP Server Web Server Web Services TP-to-TP T27 PSH HTTP/SOAP Web Services Client Application Web Services TP MCP APP C O M S Application Database 32

Web Services Client - MCP MCP Based WS Client Allows MCP applications to make a Web Services call on another server Supported by EAE and MGSWeb MCP Application does a simple library call to make the outbound WS Client call 33

Web Services Client - MCP MCP Based WS Client MCP Server Web Services Communications HTTP/SOAP Web Services Server Web Services Client Library Library Call MCP APP Application Database 34

Considerations - Data Re-Use of Existing Logic 80x24 screens are good for proof-ofconcept web services requiring no code changes 80x24 screen transactions may not contain enough information for production purposes Custom code, based on existing TP logic, seems the most common path 35

Considerations Test/Failover Test vs Production Preference is to move ALL test WS Server/Client code and config to production environment Preference to have WS Client select Test vs Prod by setting the server URL Failover Switch to backup or DR system with networking changes 36

Considerations - Connections Persistent Connections MCP TCP/IP connect/disconnect slows throughput On close, TCP/IP port must time wait for TTL*2 seconds on most systems Most servers default to persistent HTTP connections Connection:Keepalive Client then controls persistence Persistence provides a 4 to 50 times throughput increase 37

Considerations - Connections Non-Persistent Connection Client Connect ---------------> <--------------- Server Accept SOAP Request ---------------> <--------------- SOAP Response Client Disconnect ---------------> Client Connect ---------------> <--------------- Server Accept SOAP Request ---------------> <--------------- SOAP Response Client Disconnect ---------------> 38

Considerations - Connections Persistent Connection Client Connect ---------------> <--------------- Server Accept SOAP Request ---------------> <--------------- SOAP Response SOAP Request ---------------> <--------------- SOAP Response SOAP Request ---------------> <--------------- SOAP Response Client Disconnect ---------------> 39

Considerations - Connections Pipelining Requires a persistent connection Multiple requests are sent without waiting for responses Responses return in send-order Most web servers (including ATLAS) support this Use controlled by whether WS Client application is coded to take advantage of this 40

Considerations - Connections Piplining Client Connect ---------------> <--------------- Server Accept SOAP Request ---------------> SOAP Request ---------------> SOAP Request ---------------> Client Disconnect ---------------> <--------------- SOAP Response <--------------- SOAP Response <--------------- SOAP Response 41

Considerations - Security Different types SSL HTTP Logon SOAP Headers Actual WS call to logon WS-Security 42

Considerations - Security Secure Socket Layer (SSL) Done underneath Web Service SSL Authenticates server Get certificate from Server Validate certificate from a Trusted Certificate Authority Two way SSL Client Authenticates server Server Authenticates client Encryption, provided by the certificate keys, is transparent to application Application must get/supply authentication info through an external interface 43

Considerations - Security HTTP Logon Logon required for a specific virtual directory Uses HTTP AUTHORIZATION header BASIC uses a Base64 exchange so SSL is required for secure communications DIGEST uses MD5 encrypted exchange No data encryption, can use with SSL Application must get/supply authentication info through an external interface 44

Considerations - Security SOAP Headers One must pre-acquire authentication information The SOAP message can contain both a HEADER section as well as a body Authentication information is provided as in SOAP HEADER fields SSL is still needed to encrypt HEADERs Application must supply authentication info using special code 45

Considerations - Security SOAP Headers <Envelope> <Header> <NASAHeader xmlns="service.nasa.gov"> <MessageData> <MessageID>568425287</MessageID> </MessageData> <AccessTicket>n)EvgLK^Cb#3TX@ApE^sdiZH4bJ )nnx.k+,qy[oeqe0o-59`g-</accessticket> <UserAuthorization> <UserName>MS0281331</UserName> </UserAuthorization> </NASAHeader> </Header> <Body>... SOAP body.. </Body> </Envelope> 46

Considerations - Security WS Call to Logon One must pre-acquire authentication information (usercode/password) An initial web services call is made for authentication The response contains a token to be placed in the body of all subsequent web services calls Application must be token aware SSL is still needed to encrypt dialogs 47

Considerations - Security WS Call to Logon Client Connect ---------------> <--------------- Server Accept Logon Request ---------------> <--------------- Logon Response (token) SOAP Request (token) ---------------> <--------------- SOAP Response SOAP Request (token) ---------------> <--------------- SOAP Response SOAP Request (token) ---------------> <--------------- SOAP Response Client Disconnect ---------------> 48

Considerations - Security WS-Security (WSS) Originally developed by IBM, Microsoft, VeriSign and Forum Systems Attach signature and encryption headers to SOAP messages Provides end-to-end integrity for each message Protocol uses SAML, Kerberos and x.509 certificates Requires application awareness 49

Reference Material WC3 Web Services Architecture Requirements http://www.w3.org/tr/wsa-reqs/ WC3 Web Services Description Requirements http://www.w3.org/tr/ws-desc-reqs/ Web-Enablement: Setting the Foundation for Web Services, ecommunity Presentation October 10, 2002 Wayne Kernochan, Aberdeen Group Web Services and the Microsoft Platform, Payam Shodjai, Microsoft Corporation http://msdn2.microsoft.com/en-us/library/aa480728.aspx 50

Additional Questions? Michael S. Recant V.P. Software Development MGS, Inc. 10901 Trade Road, Suite B Richmond, VA 23236 Voice: (804)379-0230 Fax: (804)379-1299 Email: Mike.Recant@mgsinc.com Web: www.mgsinc.com This presentation is available on our WEB site 51

UNITE 2007 Technology Conference Some Considerations for MCP Applications using Web Services 52