260 likes | 401 Views
Developing, Accessing and Managing Service-Oriented Grid with Eclipse. Tianchao Li Email: lit@in.tum.de. About Myself. Full-time research staff and PhD candidate in TU München 6 years software development experience in Worksoft (China), BMW (Germany), IBM (Germany), TUM (Germny), LANL (USA)
E N D
Developing, Accessing and Managing Service-Oriented Grid with Eclipse Tianchao Li Email: lit@in.tum.de
About Myself Full-time research staff and PhD candidate in TU München 6 years software development experience in Worksoft (China), BMW (Germany), IBM (Germany), TUM (Germny), LANL (USA) Focus on distributed and parallel computing, service-oriented systems. Start to work on Eclipse plug-in development since 2003 Eclipse Committer Mainly works on PTP (Parallel Tools Platform) project http://www.eclipse.org/ptp Contributed to Eclipse EFS, CDT, WTP Other Eclipse-based development IBM Intelligent Miner Solution Framework (IMSF) Code Generator Performance Cockpit for CPTE/EPCM GSDE/GSEC/GSME (what you will see) IBM CAS Fellowship on Autonomous Resource Management for Large-scale Applications IBM Eclipse Innovations Grant 2005 for Teaching Eclipse Plug-in Developmet
Contents Grid Computing from the Service-Oriented Perspective Developing, Accessing, and Managing Grid Services with Eclipse User Roles and Requirements The Grid Service Development Environment The Grid Service Execution Client The Grid Service Management Environment Other Choices for Developing and Using Grid with Eclipse Tools for developing Grid services Grid client environments Extending Parallel Tools Platform for Grid development
Part I:Grid Computing from the Service-Oriented Perspective Grid Computing Grid from a Service-Oriented Perspective Local Resource Management Infrastructure Market-based Service Negotiation Support Infrastructure on Service Site
Grid Computing • Initial idea: use distributed computatational power in a way like electricity produced in the power Grid • Globus toolkit, Unicore etc. • Coordinated resource sharing across administrative domain • Merging with Web Services results into service-oriented Grid • Uniform abstraction of different resources • Interoperability across different Grid platforms • Cross platform
Standard and Custom Services in a Grid Non-Standardized Application Services Crash-Test Simulation Service Medical Simulation Service […] Standardized Application Services […] Standardized Elementary Services Risk Analysis Service Misc Hardware Service Storage Service Computation Service Data Mining Service XMLTransform Service Database Service […] Memory Sensor Cluster HDD CPU Physical Resources […]
SLA-based Resource Management QoS Guarantee with SLA offers searches signs signs submits SLA-Template Service Provider Service Management Client ResourcePlanning Signed SLA Usage Data &Management Policies Service Provisioning Service request with SLA-Reference
Market-based Service Negotiation Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Client Trading Services Market Financing Services Broker Service Broker Service Token Manager Banking Service Broker Service Index Service Banking Service Contract Manager Contract Manager Auction Service Catalogue Service Banking Service Catalogue Service Auction Service Guarantee Trust Service Service Service Service Servide
Support Infrastructure on Service Site Service Site Resource Mgmt Module Local Resources Resource Policy Resource Data Cluster Local Scheduler Resource Provisioner Performance Predictor Resource Manager Main Frame Service Agreement Mgmt Module Business Mgmt Module Service AgreementTemplates SLAArchive BusinessPolicies Business Data Service Trading Manager Finance Manager Business Manager Agreement Decision Maker SLA Negotiator SLA Manager
Part II:Developing and Using Grid Services with Eclipse User Roles and Requirements The Grid Service Development Environment The Grid Service Execution Client The Grid Service Management Environment
Choosing Eclipse as Platform • We need component-based development approach to support component reuse and composition • User roles are not distinct • Overlapping of functionalities • Client requires dynamic extensibility • Eclipse is the best platform we know of • Application development with Plug-ins • Dynamic extension capability • Rich set of existing components that can be leveraged • JDT • WTP • EMF • DSDP/TM • And more ... • Native look and feel • Role-based UI layout into perspectives • Support both IDE and RCP applications
The Grid Service Development Environment • Hosted on http://www.lrr.in.tum.de/~lit/gsdt • Planning to move to eclipse.org
GSDE Functionalities Overview • Service modeling and code generation • Service model (name, operations etc.) • Resource model (resource properties, lifetime, notification) • Service-model relationship (creation and association, many to many) • Configuration model (registration, security, logging etc.) • Code generation • Service development • Project creation, configuration • Service coding • Service build • Service deployment • Service execution and debug • Service deployment • Local deployment on Tomcat • Local deployment on Globus • GAR export for remote deployment
The Grid Service Development Environment Modeling Grid Services with GSDE
Design Decisions for Usability • Does not require programmer to follow specific development process • Does not restrict the developed Grid services to follow specific patterns • Separate Service Modeling and Generation from Development • Round-trip between model and code is hard • You can not model alll possibilities in a real service implementation • Usually means another restriction • Incremental project builders • Automatically handles the stub generation from WSDLs • Stubs are always up to date • Allows the user to concentrate on service implementations • Incremental builders speedup the stub generation • Separate Model Editors for Beginners and Advanced Users
Plug-in Dependencies in GSDE Modeling & Code Gen. Project Config & Build Service Deployment Tomcat Deploy Plug-in Globus Deploy Plug-in Editor Plug-in UI Plug-in Code Gen. Plug-in Builder Plug-in Template Plug-in Service Model Plug-in Core Plug-in Third-party Plug-ins EMF TOMCAT ANT Debug JDT Eclipse Platform
Models and Code Generations in GSDE Meta-Model Editor edit Service Meta-Model generate Service Model Editor JET Editor edit edit Service Model JET Template for Service Impl. generate Code Generator Plug-in Service Codes & Scripts
The Grid Service Execution Client • Base client for custom client applications • Supports basic services • WSRF/WSN port types • Indexing • WS-Agreement • Intend to be customized or extended to support other services
The Grid Service Execution Client Plug-ins for Advanced Features Broker UI Plug-in Index UI Plug-in Agrmt. UI Plug-in Service1 UI Plug-in Service2 UI Plug-in Custom Service Client Basic Service Client Broker Client Library Plug-in Index Client Library Plug-in Agrmt. Client Library Plug-in Service1 Client Library Plug-in Service2 Client Library Plug-in WSRF/WSN UI Plug-in WSRF/WSN Plug-in Core Service Client Globus Library Plug-in Eclipse RCP / IDE Platform
The Grid Service Execution Client Plug-ins for Advanced Features Broker UI Plug-in Index UI Plug-in Agrmt. UI Plug-in Service1 UI Plug-in Service2 UI Plug-in Custom Service UI UI WSRF/WSN UI Plug-in Broker Client Library Plug-in Index Client Library Plug-in Agrmt. Client Library Plug-in Service1 Client Library Plug-in Service2 Client Library Plug-in Custom Service Non-UI Non-UI WSRF/WSN Plug-in Globus Library Plug-in Eclipse RCP / IDE Platform
The Grid Service Management Environment GSME GSDE GSEC Tomcat Deploy Plug-in Index Plug-in Globus Deploy Plug-in WSRF/WSN Plug-in DSDP/TM
The Grid Service Management Environment Configuring Remote Grid Services with GSME
Related Work Tools for Grid Service Development GT4IDE Grid Development Tools (GDT) Introduce Grid Service Authoring Toolkit Grid Client Environments g-Eclipse Intel’s Grid Programming Environment (GPE) P-GRADE, ASKALON and GEMLCA etc. Parallel Tools Platform Support parallel application (OpenMP/MPI) development in C/Fortran In the coming 2.0 release, remove support will be available An opportunity for Grid support – develop a resource manager for Grid middleware
Thank you for your attention! • Grid is a beautiful dream • Service-oriented approach realises this dream • Eclipse helps make this dream better