On Using Ice Middleware in the IARnet Framework Oleg Sukhoroslov Institute for Systems Analysis, RAS, Moscow Distributed Computing Systems Laboratory.

Slides:



Advertisements
Similar presentations
Regnet Specification : Technical point of view REGNET.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
High Performance Computing Course Notes Grid Computing.
The road to reliable, autonomous distributed systems
IARnet: A General Framework for Porting Scientific Applications Into Distributed Computing Environment Oleg Sukhoroslov, Vladimir Voloshinov Institute.
Technical Architectures
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
The Architecture of Transaction Processing Systems
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Vision/Benefits/Introduction Randy Armstrong (OPC Foundation)
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space Cracow Grid Workshop’10 Kraków, October 11-13,
- 1 - Grid Programming Environment (GPE) Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
JRun 4 & Macromedia MX Tommy Reilly JRun Engineer.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Introduction to Ice Copyright © ZeroC, Inc. Ice Programming with Java 1. Introduction to Ice.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
.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.
DORII Joint Research Activities DORII Joint Research Activities Status and Progress 6 th All-Hands-Meeting (AHM) Alexey Cheptsov on.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
TIMICO Introduction to ICE. 1-1 Agenda To provide an example of a non-standards driven and single vendor controlled middleware technology and discuss.
ArcGIS Server for Administrators
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Steering and Interactive Visualization on the Grid Using the UNICORE Grid Middleware K. Benedyczak 1,2, A. Nowiński 1, K.S. Nowiński 1, P. Bała 1,2 (1)ICM,
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
Cole David Ronnie Julio. Introduction Globus is A community of users and developers who collaborate on the use and development of open source software,
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
Paperless Timesheet Management Project Anant Pednekar.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
ZIMBRA ROADMAP. Contains proprietary and confidential information owned by Synacor, Inc. © / 2015 Synacor, Inc. Deliver an advanced, feature rich collaboration.
INTRODUCTION TO GRID & CLOUD COMPUTING U. Jhashuva 1 Asst. Professor Dept. of CSE.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
The Internet Communications Engine (Ice)
Chapter 5 Remote Procedure Call
WEB SERVICES.
StratusLab Final Periodic Review
StratusLab Final Periodic Review
Unit – 5 JAVA Web Services
Some Basics of Globus Web Services
AMGA Web Interface Salvatore Scifo INFN sez. Catania
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
AMGA Web Interface Vincenzo Milazzo
Introduction to Web Services
Production Manager Tools (New Architecture)
Presentation transcript:

On Using Ice Middleware in the IARnet Framework Oleg Sukhoroslov Institute for Systems Analysis, RAS, Moscow Distributed Computing Systems Laboratory

What is missing in IARnet Security encryption, data integrity, authentication, authorization, session management … Full-featured interface definition language user-defined complex types, exceptions … Advanced configuration and deployment file-based service configuration, grid site model

IARnet2 Built-in security Scalable site model, flexible configuration Avoids unnecessary complexity IARnet1: Pluggable transports: CORBA, Web Services, Ice IARnet2: Based on a single middleware technology, Ice

Ice (Internet Communications Engine) Object middleware technology developed by ZeroC, Inc Supports programming of servers and clients in C++, Java, C#, Visual Basic, Python, PHP (client only), Ruby (client only) Support for various operating systems and embedded devices Available under GPL Slice - full-featured interface definition language Ice core - communication library, highly efficient protocol, compression, TCP/UDP, thread pool for multi-threaded servers IceSSL - dynamic SSL transport plug-in for the Ice core IceBox - container for Ice services that are dynamically loaded as a DLL, shared library, or Java class IceGrid - sophisticated server configuration, deployment and activation tool for management of complex server infrastructure Glacier - firewall solution for Ice Messaging service, persistence solution, patching service …

Web Services vs. Ice Web ServicesIce Object-oriented development - (WSRF?)+ Interface definition language WSDL is too complex to write manually Slice is easy to write and read Protocol performance SOAP is slow, wasteful of bandwidth, puts load on CPU Binary protocol, ~100x better latency and throughput MaturityLarge number of WS-* specs, some are still “work in progress” Stable, well-documented API and protocol Available implementations Many, but each vendor uses its own proprietary API and tools. Lack of WSRF implementations. Single. Has well-documented language mappings, so portability can be achieved. Standards and Industry support +- Proprietary (but committed to open source)

WSDL vs. Slice <definitions name="StockQuote" targetNamespace=" xmlns:tns=" xmlns:xsd1=" xmlns:soap=" xmlns=" <schema targetNamespace=“ xmlns=" My first service // My first service interface StockQuoteService { float GetLastTradePrice(string tickerSymbol); };

Basic Concepts IARnet2 Service – an Ice object, which provides access to some scientific tool or application Described by means of Slice language Implemented as an Ice servant IARnet2 Client – an Ice application, which accesses IARnet2 services on behalf of a user or another service

IARnet2 Site A collection of services, which are installed and managed by some organization or person. Provides a unified interface for accessing service Can scale from a single computer to server pool

Site Interface interface Site { Session* createSession(string userId, string password) throws PermissionDeniedException, CannotCreateSessionException; Session* createSessionFromSecureConnection() throws PermissionDeniedException, CannotCreateSessionException; idempotent long getSessionTimeout(); };

Session Interface interface Session { Object* getService(string serviceId) throws ServiceNotFoundException, PermissionDeniedException; idempotent void keepAlive(); void destroy(); };

Site Architecture

Site Deployment Modes

Simple VO Setup

Current Implementation (Java) Site implementation Based on IceBox for Java Two permissions verifiers: MD5PermissionsVerifier, SimpleSSLPermissionsVerifier Web interface (embedded Jetty server) Distributed site mode supports the use of IceGrid Client API Session creation Keeping sessions alive Obtaining service proxies Backwards compatible with IARnet

Service Programming Model Define service interface in Slice (or start with an existing definition) Compile Slice to Java code Implement the service as a Java class Deploy the service Edit server configuration file (2 lines minimum) Drop jar file into the server /lib directory

Client Programming Model // create client session ClientSession session = new ClientSessionImpl(communicator()); // create service reference ServiceReference ref = ServiceReferenceFactory.create( ssl -h dcs.isa.ru -p 7070", communicator()); // get service StatelessCalculatorPrx calc = session.getService(ref,StatelessCalculatorPrx.class); // invoke service double result = calc.add(1, 2);

Conclusion The use of Ice made it possible to provide with a minimal effort all the needed functionality and ensure high performance The programming model was improved, while keeping it as simple as possible IARnet2 site supports grid site model and can scale from a single desktop to server pool Working on top of existing Grid infrastructure: Leverage existing PKI infrastructure and VO membership services Building IARnet2 services, which use Grid infrastructure for submitting batch jobs and data movement

Thank you! For more information: Oleg Sukhoroslov,

Basic IARnet2 Components