Decentralized Information Spaces for Composition and Unification of Services (DISCUS)  Successor to OzWeb  Builds on WebServices  (Relatively) Static.

Slides:



Advertisements
Similar presentations
0 McLean, VA August 8, 2006 SOA, Semantics and Security.
Advertisements

FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Application Graphic design / svetagraphics.com 01 FRAMEWORK data service.
A component- and message-based architectural style for GUI software
SOAP.
RPC Robert Grimm New York University Remote Procedure Calls.
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
CS 432 Object-Oriented Analysis and Design
Models of Computation as Program Transformations Chris Chang
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
C++ fundamentals.
4/25/ Application Server Issues for the Project CSEP 545 Transaction Processing for E-Commerce Philip A. Bernstein Copyright ©2003 Philip A. Bernstein.
CGI Programming: Part 1. What is CGI? CGI = Common Gateway Interface Provides a standardized way for web browsers to: –Call programs on a server. –Pass.
An Introduction to Rational Rose Real-Time
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Asynchronous Web Services Approach Enrique de Andrés Saiz.
Object-Oriented Analysis and Design
Enterprise Resource Planning
UNIT-V The MVC architecture and Struts Framework.
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Chapter 10: Authentication Guide to Computer Network Security.
1 Structured Analysis Techniques. 2 Data Flow Diagrams.
The Design Discipline.
INTERNET APPLICATION DEVELOPMENT For More visit:
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Web Services Week 7 Aims: A detailed look at the underlying mechanisms for communication between web services Objectives: SOAP, WSDL, UDDI.
Shib-Grid Integrated Authorization (Shintau) George Inman (University of Kent) TF-EMC2 Meeting Prague, 5 th September 2007.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
E-commerce What are the relationships among: – Client (i.e. you) – Server – Bank – Certification authority Other things to consider: – How to set up your.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
Secure Credential Manager Claes Nilsson - Sony Ericsson
XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Programming Logic and Design Using Methods. 2 Objectives Review how to use a simple method with local variables and constants Create a method that requires.
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
Coupling Cohesion Chandan R. Rupakheti Steve Chenoweth (Chapter 18)
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
A Service Oriented Architecture for the Finance Case Study
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
D’Agents 1 Presented by Haiying Tan May, 2002 D’Agents: Security in a multiple-language, mobile-agent system Robert S. Gary, David Kotz, George Cybenko,
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
1 of 4 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
DISCUS Decentralised Information Spaces for Composition and Unification of Services Alpa Shah Gail Kaiser Programming Systems Lab Columbia University November.
Behavioural Patterns GoF pg Iterator GoF pg. 257 – 271 Memento GoF pg By: Dan Sibbernsen.
The overview How the open market works. Players and Bodies  The main players are –The component supplier  Document  Binary –The authorized supplier.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Programming Logic and Design Fifth Edition, Comprehensive Chapter 7 Using Methods.
Runtime Verification of Business Processes
Introducing To Networking
Message Queuing.
Modern benefits administration and HR software, supported by us.
Presentation transcript:

Decentralized Information Spaces for Composition and Unification of Services (DISCUS)  Successor to OzWeb  Builds on WebServices  (Relatively) Static Service Spaces  Dynamic Summits  Gatekeepers impose Treaties as to whether/how Summits can use Service Space services  Workflow coordinates services

DISCUS Gatekeeper Overview  The Gatekeeper exists at the boundary of a service space facilitating secured access to the logical collection of web services comprising the service space.  It is the single point of interaction between the outside world and the service space.  Its purpose is to regulate access to web services implemented using heterogeneous programming languages, hosted on heterogeneous platforms.

Gatekeeper Features  Dynamic composition of service spaces requires the Gatekeeper to have a runtime mechanism for interacting with arbitrary web services – Runtime Web Service Proxy Generation.  The Gatekeeper “discovers” the details of expected inputs – parameter types – at runtime via the use of reflection on the Web Service Proxy it generates.

Control Flow of Solution – Part I  Eapp talks to its local Gatekeeper, GK1, saying “Hey, I need to use service X of SS2” – This message is expressed in the form of an Alpha-Protocol (a simple workflow) which Eapp will pass to GK1.  GK1 takes the Alpha-Protocol and goes out to find the Gatekeeper of service space 2, GK2  GK1 then sends a (signed) treaty request to GK2 requesting use of service X. The signature authenticates GK1.

Control Flow of Solution – Part II  GK2 verifies the (signed) treaty request and based on service space’s 2 security policy decides whether to allow GK1 to use service X. GK2 sends back a filled Treaty which contains authorization data.  Once GK1 has permission to use service X, it issues an ExecuteServiceMethodRequest forwarding the input from Eapp onto GK2 that then acts as an execution proxy to service X.

Control Flow of Solution – Part III  GK2 verifies GK1’s Execution Request, contacts service X forwarding the input from GK1.  GK2 receives the output of the operation, signs it and sends it back to GK1  GK1 verifies the (signed) results and passes these back to Eapp.

DISCUS Security overview  Multiple service spaces  Each offers different services  Services used together in summits to resolve problems  Different services have different security levels/requirements Have to control access by external service spaces

Two main requirements  Authentication Can’t do anything without knowing who is really asking for a service Services Spaces authenticated by unique public key  Authorization A service space can only call certain service methods Each service space has a security matrix that defines the permissions

Implementation overview Service spaces communicate only through the Gatekeepers The Gatekeeper uses the Security Manager to: sign and verify messages create and verify treaties verify execute method requests Service space 1 Service Space 2 Gatekeeper Services Security Manager Security Manager

Verifying an incoming treaty A Treaty indicates what services and methods a service wants to use for a certain summit. 0 service getData foo bar … SecurityManager - Verify XML document - Compare treaty with permissions for the requesting service space - Set methods to authorized true/false service getData foo bar true getDataByFooAndBar

Verifying an execute method request service getDataByFooAndBar foo … SecurityManager - Verify XML document - Get treaty from database - Compare method request with methods in treaty - Return OK, or error message Error: number of parameters does not match treaty. An execute method request is sent when a service space wants to call a certain method on a service.