Copyright (c) 2006 IBM, released under EPL version 1.0 RSE David McKnight.

Slides:



Advertisements
Similar presentations
Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
Advertisements

Operating-System Structures
1 Opentest Architecture Table of Content –The Design Basic Components High-Level Test Architecture Test Flow –Services provided by each Layer Test Mgt.
Goals Give you a feeling of what Eclipse is.
The SMS project WP 4.2: Component authoring ICCS.
DSDP Poster : Eclipse Summit Europe 2006 | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Business Circle Useful Social Networking Charles Brexel.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Copyright © 2006 Intel Corporation, released under EPL version /20061 Eclipse DSDP-TM Target Connection Adapters Peter Lachner WW08’06 rev 1.0.
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
© 2006 by IBM and Wind River Systems; made available under the EPL v1.0 | 22-March-2006 Martin Oberhuber, Wind River Systems
1 Plug-in Development Environment (PDE) Guide. 2 Introduction to PDE l What is PDE: »a tool designed to help you develop platform plug-ins while working.
Accelerate your SaaS Integration The Cloud Adapter SDK Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Copyright 2003 Accenture. All rights reserved. Accenture, its logo, and Accenture Innovation Delivered are trademarks of Accenture. Data Migration in Oracle.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
© 2005 by IBM Corporation; made available under the EPL v1.0 | February 28 th 2005 Adopting the Eclipse™ Test and Performance Tools Platform (TPTP) project.
Copyright © IBM Corp., All rights reserved; made available under the EPL v1.0 | March 20, 2008 | Short Talk Standards based systems management: An.
THE GITB TESTING FRAMEWORK Jacques Durand, Fujitsu America | December 1, 2011 GITB |
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
V0.1 BlackBerry HTML5/WebWorks Applications for the BlackBerry ® PlayBook™ Tablet BlackBerry Academic Program Module 5 - Writing HTML5/WebWorks API Extensions.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
IIM Intro What is IIM? An information delivery and management solution. IIM App iPad Client Integration IIM Services Interface IIM Web Account Payment.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
CMSC 466 / 666 Yong Rao Feb. 11, 2004 Revised Mar. 15, 2004.
ABC of Platform Workspace | Copyright © IBM Corp., All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder.
ABC of Platform Workspace | Copyright © IBM Corp., ABC of Platform Workspace Szymon Brandys Tomasz Zarna IBM Krakow Software Lab.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary PTP 2.1 Release Review October 29, 2008.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
© 2010 IBM Corporation WebSphere Adapter for Enterprise Content Management Systems.
Slide title minimum 48 pt Slide subtitle minimum 30 pt Tracing Framework Tracing and monitoring Framework (TMF) TCF Agent LTTng integration
Introduction to Java Beans CIS 421 Web-based Java Programming.
Concrete Architecture of Mozilla Firefox (version ) Iris Lai Jared Haines John,Chun-Hung,Chiu Josh Fairhead July 06, 2007.
® IBM Software Group © IBM Corporation Using ISA V4.0 for TSM and TPC Problem Resolution Troubleshooting Tools.
Architecture for an Ontology and Web Service Modelling Studio Michael Felderer & Holger Lausen DERI Innsbruck Frankfurt,
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.
1 © NOKIA WWRF-Reference-Framework.PPT/ 26 June 2002 / Kimmo Raatikainen WWRF Reference Framework Nokia’s Perspective WWRF WG2 Meeting 26 June 2002 Kimmo.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Review for Eclipse Release Review | © 2012 by Review for Eclipse Committers, made available under the EPL v1.0 1 Review for Eclipse (R4E) 0.11 Release.
CSS Build and Update System Kunal Shroff EPICS Fall Collaboration Meeting, June 2010 Aix-en-Provence.
XNAT 1.7: Getting Started 6 June, Introduction In this presentation we’ll discuss:  Features and functions in XNAT 1.7  Requirements  Installing.
Integrating ArcSight with Enterprise Ticketing Systems
Integrating ArcSight with Enterprise Ticketing Systems
Overall Architecture and Component Model
So what is Target Management all about?
DSDP - Target Management
Presentation transcript:

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE David McKnight

Copyright (c) 2006 IBM, released under EPL version 1.0 Agenda Introduction RSE Demo Architecture Service Layer Service Layer Subsystem Layer Subsystem Layer UI Layer UI LayerStructure Features Features Plugins Plugins Build Setup Build Setup Extending RSE Extension Demo

Copyright (c) 2006 IBM, released under EPL version 1.0 Introduction Framework providing common reusable way accessing remote systems Perspective with views that can be used for displaying info about all kinds of hosts Used in various IBM products for accessing different types of systems

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Demo

Copyright (c) 2006 IBM, released under EPL version 1.0 Architecture RSE has three major layers 1. Service Layer 2. Subsystem Layer 3. UI Layer Services Subsystems UI

Copyright (c) 2006 IBM, released under EPL version 1.0 Service Layer headless, barebones API layer used to interact with different protocols to provide remote services Service layer model objects are minimal and UI- independent examples: File Service File Service for listing, modifying, copying, and transferring remote file and folders Shell Service Shell Service for launching remote shells and interacting with the associated IO Process Service Process Service for listing remote processes for listing remote processes

Copyright (c) 2006 IBM, released under EPL version 1.0 Service Layer cont. There can be many different implementations for a given service type depending on what host services are available For example, the following are possible File Service implementations: For example, the following are possible File Service implementations:FTPDatastoreSSHHTTPLocal

Copyright (c) 2006 IBM, released under EPL version 1.0 Subsystem Layer Subsystems integrate the services of the service layer with connection information, model artifacts and persistence Subsystem layer model objects wrapper serivce layer objects and reference higher-level RSE objects Each subsystem associated with one service type Examples: Examples: File service subsystem Shell service subsystem Process service subsystem

Copyright (c) 2006 IBM, released under EPL version 1.0 Subsystem Filters Each type of subsystem may optionally provide filter support Filters are persistent objects that provide means to query specific sets of information from a host Filters are persistent objects that provide means to query specific sets of information from a host RSE provides support for persisting and managing the filters RSE provides support for persisting and managing the filters

Copyright (c) 2006 IBM, released under EPL version 1.0 Subsystem Configurations each subsystem configuration registered against one or more system types each subsystem configuration registered against one or more system types each host connection has the subsystems that were registered with it’s system type each host connection has the subsystems that were registered with it’s system type

Copyright (c) 2006 IBM, released under EPL version 1.0 Configuring Subsystems When more than one subsystem configuration for a subsystem type, user can switch configurations as desired

Copyright (c) 2006 IBM, released under EPL version 1.0 File Service Subsystem Configurations In this example, the current file subsystem configuration uses Datastore

Copyright (c) 2006 IBM, released under EPL version 1.0 UI Layer RSE view adapter provides means of rendering RSE subsystems and associated artifacts in the RSE views provides means of rendering RSE subsystems and associated artifacts in the RSE views ISystemViewElementAdapter ISystemViewElementAdapter Common interface that all RSE artifacts adapt to when being used in the UI Queries RSE view content provider gets adapter for RSE object and calls adapter API to get children of that object RSE view content provider gets adapter for RSE object and calls adapter API to get children of that object Adapter typically uses Subsystem API (resolveFilterString methods) to gather results of query Adapter typically uses Subsystem API (resolveFilterString methods) to gather results of query

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Features Core The base service and subsystem definitions, extension points, RSE perspective, views, dialogs, widgets and various generic features The base service and subsystem definitions, extension points, RSE perspective, views, dialogs, widgets and various generic featuresLocal Local service implementations and the subsystem configurations for using them Local service implementations and the subsystem configurations for using themDatastore Service implementations using the Datastore communications framework and the subsystem configurations for using them Service implementations using the Datastore communications framework and the subsystem configurations for using themFTP The FTP file service implementation and the subsystem configuration for it The FTP file service implementation and the subsystem configuration for itTelnet An example shell service implementation with the required subsystem configuration An example shell service implementation with the required subsystem configuration

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Plugins Base Plugins org.eclipse.rse.services org.eclipse.rse.services APIs for common services and common utilities Defines IFileService, IShellService and IProcessService org.eclipse.rse.logging org.eclipse.rse.logging used for logging in RSE org.eclipse.rse.core org.eclipse.rse.core core RSE stuff org.eclipse.rse.ui org.eclipse.rse.ui RSE UI and UI extensions org.eclipse.rse.subsystems.files.core org.eclipse.rse.subsystems.files.core Defines the subsystem and artifacts that are used to drive the file service org.eclipse.rse.subsystems.processes.core org.eclipse.rse.subsystems.processes.core Defines the subsystem and artifacts that are used to drive the process service org.eclipse.rse.subsystems.shells.core org.eclipse.rse.subsystems.shells.core Defines the subsystem and artifacts that are used to drive the shell service org.eclipse.rse.files.ui org.eclipse.rse.files.ui Defines the actions, dialogs and view adapters used to interact with remote files org.eclipse.rse.processes.ui org.eclipse.rse.processes.ui Defines the actions, dialogs and view adapters used to interact with remote processes org.eclipse.rse.shells.ui org.eclipse.rse.shells.ui Defines the actions, dialogs and view adapters used to interact with remote shells

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Plugins - Local Local Plugins org.eclipse.rse.services.local org.eclipse.rse.services.local Local implementation for common services Provides: file service, shell service and process service org.eclipse.rse.connectorservice.local org.eclipse.rse.connectorservice.local Provides means to connect to local org.eclipse.rse.subsystems.shells.local org.eclipse.rse.subsystems.shells.local Shell subsystem configuration that uses local shell service org.eclipse.rse.subsystems.processes.local org.eclipse.rse.subsystems.processes.local Process subsystem configuration that uses local process service org.eclipse.rse.subsystems.files.local org.eclipse.rse.subsystems.files.local File subsystem configuration that uses local file service

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Plugins - Datastore These plugins constitute the Datastore communication framework, common service implementations, the host extensions for those services and the subsystem configurations that are used to integrate Datastore services into RSE Plugins org.eclipse.dstore.extra org.eclipse.dstore.extra Part of the Datastore communication framework org.eclipse.dstore.core org.eclipse.dstore.core Datastore communication framework org.eclipse.rse.services.dstore org.eclipse.rse.services.dstore Common Datastore service implementations provides file service, shell service and process service Provides host miners for each service org.eclipse.rse.connectorservice.dstore org.eclipse.rse.connectorservice.dstore Provides RSE integration to connecting to a remote Datastore org.eclipse.rse.dstore.security org.eclipse.rse.dstore.security Provides SSL security integration for Datastore communications org.eclipse.rse.subsystems.files.dstore org.eclipse.rse.subsystems.files.dstore File subsystem configuration for the Datastore file service org.eclipse.rse.subsystems.processes.dstore org.eclipse.rse.subsystems.processes.dstore Process subsystem configuration for the Datastore process service org.eclipse.rse.subsystems.shells.dstore org.eclipse.rse.subsystems.shells.dstore Shell subsystem configuration for the Datastore shell service

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Plugins Cont. FTP Plugins org.eclipse.rse.services.files.ftp org.eclipse.rse.services.files.ftp FTP file service implementation org.eclipse.rse.subsystems.files.ftp org.eclipse.rse.subsystems.files.ftp File subsystem configuration for use with FTP file service Telnet Plugins org.eclipse.rse.services.shells.telnet org.eclipse.rse.services.shells.telnet Telnet shell service implementation org.eclipse.rse.subsystems.shells.telnet org.eclipse.rse.subsystems.shells.telnet Telnet subsystem configuration for use with Telnet shell service

Copyright (c) 2006 IBM, released under EPL version 1.0 Build Setup Ant Build org.eclipse.rse.build org.eclipse.rse.build Contains scripts for extracting and building RSE runtime and SDK

Copyright (c) 2006 IBM, released under EPL version 1.0 Extension Points System types Subsystem configurations registered against system types Subsystem configurations registered against system types i.e. Intel Linux, AIX, i5OS, etc. i.e. Intel Linux, AIX, i5OS, etc. New types can be added New types can be added Subsystem Configurations Associates a subsystem, it’s service implementation and other customizations with connections of one or more system types Associates a subsystem, it’s service implementation and other customizations with connections of one or more system types Popup Extensions Actions can be contributed against remote RSE objects, similar to regular Eclipse popup extensions Actions can be contributed against remote RSE objects, similar to regular Eclipse popup extensions Persistence Providers Method of saving and loading RSE connection information Method of saving and loading RSE connection information RSE DOM RSE DOM Importers and exporters used to load and save RSE APIs System Registry System Registry Manage and create profiles, connections, etc.

Copyright (c) 2006 IBM, released under EPL version 1.0 Extension Demo

Copyright (c) 2006 IBM, released under EPL version 1.0 Example of Extending RSE Vendor needs to provide custom access to system ABC Hosts of type ABC have services for FTP, telnet and the XYZ service Hosts of type ABC have services for FTP, telnet and the XYZ service Steps the vendor takes: 1. The ABC system type is contributed 2. The FTP file service subsystem configuration and telnet shell service subsystem configurations are contributed to system type ABC 3. Contribute XYZ functionality 1.XYZ service API defined along with XYZ service subsystem 2.XYZ service implemented using appropriate protocol 3.XYZ service subsystem configuration setup to use XYZ service implementation and registered with ABC system type

Copyright (c) 2006 IBM, released under EPL version 1.0 FTP Extension Example Implemented IFileService using FTPClient class provided in JDK FTPHostFile used as IHostFile model in service layer FTPHostFile used as IHostFile model in service layer Implemented FTP File Subsystem Configuration to provide FTP service setup for the FileServiceSubsystem Implemented FTP connector service to initialize FTP connection in FTPFileService from the subsystem Implemented FTP connector service to initialize FTP connection in FTPFileService from the subsystem Implemented host file adapter to wrapper FTPHostFile objects with FTPRemoteFile objects

Copyright (c) 2006 IBM, released under EPL version 1.0 Appendix Additional slides here

Copyright (c) 2006 IBM, released under EPL version 1.0 RSE Perspective

Copyright (c) 2006 IBM, released under EPL version 1.0 Terminology System Type Distinguishes different types of hosts Distinguishes different types of hostsHost A persistent object representing the host a user connects to A persistent object representing the host a user connects to Connector Service The means by which one or more subsystems connect to a host The means by which one or more subsystems connect to a hostSubsystem provides the means to do operations on the host provides the means to do operations on the host wrappers a service wrappers a service Subsystem configuration A contribution of a subsystem associated with a particular service implementation, connector service and other customizations A contribution of a subsystem associated with a particular service implementation, connector service and other customizationsService A simple interface to provide a set of host functionality A simple interface to provide a set of host functionalityFilter Provides a means to zero in on a particular set of host data Provides a means to zero in on a particular set of host data

Copyright (c) 2006 IBM, released under EPL version 1.0 File Service API IFileService copy(IProgressMonitor, String, String, String, String) copy(IProgressMonitor, String, String, String, String) copyBatch(IProgressMonitor, String[], String[], String) copyBatch(IProgressMonitor, String[], String[], String) createFile(IProgressMonitor, String, String) createFile(IProgressMonitor, String, String) createFolder(IProgressMonitor, String, String) createFolder(IProgressMonitor, String, String) delete(IProgressMonitor, String, String) delete(IProgressMonitor, String, String) download(IProgressMonitor, String, String, File, boolean, String) download(IProgressMonitor, String, String, File, boolean, String) getFile(IProgressMonitor, String, String) getFile(IProgressMonitor, String, String) getFiles(IProgressMonitor, String, String) getFiles(IProgressMonitor, String, String) getFilesAndFolders(IProgressMonitor, String, String) getFilesAndFolders(IProgressMonitor, String, String) getFolders(IProgressMonitor, String, String) getFolders(IProgressMonitor, String, String) getRoots(IProgressMonitor) getRoots(IProgressMonitor) getUserHome() getUserHome() isCaseSensitive() isCaseSensitive() move(IProgressMonitor, String, String, String, String) move(IProgressMonitor, String, String, String, String) rename(IProgressMonitor, String, String, String) rename(IProgressMonitor, String, String, String) rename(IProgressMonitor, String, String, String, IHostFile) rename(IProgressMonitor, String, String, String, IHostFile) upload(IProgressMonitor, File, String, String, boolean, String, String) upload(IProgressMonitor, File, String, String, boolean, String, String) upload(IProgressMonitor, InputStream, String, String, boolean, String) upload(IProgressMonitor, InputStream, String, String, boolean, String)

Copyright (c) 2006 IBM, released under EPL version 1.0 Shell Service API IShellService getHostEnvironment() getHostEnvironment() launchShell(IProgressMonitor, String, String, String[]) launchShell(IProgressMonitor, String, String, String[]) launchShell(IProgressMonitor, String, String[]) launchShell(IProgressMonitor, String, String[]) runCommand(IProgressMonitor, String, String, String, String[]) runCommand(IProgressMonitor, String, String, String, String[]) runCommand(IProgressMonitor, String, String, String[]) runCommand(IProgressMonitor, String, String, String[])

Copyright (c) 2006 IBM, released under EPL version 1.0 Process Service API IProcesService getParentProcess(IProgressMonitor, long) getParentProcess(IProgressMonitor, long) getProcess(IProgressMonitor, long) getProcess(IProgressMonitor, long) getSignalTypes() getSignalTypes() kill(IProgressMonitor, long, String) kill(IProgressMonitor, long, String) listAllProcesses(IProgressMonitor) listAllProcesses(IProgressMonitor) listAllProcesses(IProgressMonitor, IHostProcessFilter) listAllProcesses(IProgressMonitor, IHostProcessFilter) listAllProcesses(IProgressMonitor, String, String, String) listAllProcesses(IProgressMonitor, String, String, String) listChildProcesses(IProgressMonitor, long) listChildProcesses(IProgressMonitor, long) listChildProcesses(IProgressMonitor, long, IHostProcessFilter) listChildProcesses(IProgressMonitor, long, IHostProcessFilter) listRootProcesses(IProgressMonitor) listRootProcesses(IProgressMonitor)