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

Презентация:



Advertisements
Похожие презентации
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
Advertisements

Copyright © 2006 Intel Corporation, released under EPL version /20061 Eclipse DSDP-TM Target Connection Adapters Peter Lachner WW0806 rev 1.0.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary November 4, 2014 Copyright © 2006 Eclipse Foundation, Inc., Made available.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Complex MPLS VPNs Introducing Central Services VPNs.
© 2006 by IBM and Wind River Systems; made available under the EPL v1.0 | 22-March-2006 Martin Oberhuber, Wind River Systems
© 2005 Cisco Systems, Inc. All rights reserved. IPTX v Configuring Additional Cisco CallManager Express Features Configuring Cisco CallManager Express.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Building a Simple Serial Network Understanding the OSI Model.
© 2006 Cisco Systems, Inc. All rights reserved. ICND v Completing ISDN Calls Configuring ISDN BRI and PRI.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS VPN Implementation Configuring VRF Tables.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS VPN Implementation Using MPLS VPN Mechanisms of Cisco IOS Platforms.
WEB SERVICES Mr. P. VASANTH SENA. W EB SERVICES The world before Situation Problems Solutions Motiv. for Web Services Probs. with Curr. sols. Web Services.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Implementing QoS Preclassify.
PAT312, Section 21, December 2006 S21-1 Copyright 2007 MSC.Software Corporation SECTION 21 GROUPS.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring Groups and Policies Building an Agent Kit.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring Rules Rule Basics.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
Copyright 2003 CCNA 4 Chapter 11 Scaling IP Addresses By Your Name.
Транксрипт:

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 its system type each host connection has the subsystems that were registered with its 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, its service implementation and other customizations with connections of one or more system types Associates a subsystem, its 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)