© 2003 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice SmartFrog Overview HP Labs Version:

Slides:



Advertisements
Similar presentations
Large-Scale, Adaptive Fabric Configuration for Grid Computing Peter Toft HP Labs, Bristol June 2003 (v1.03) Localised for UK English.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Tuesday, June 10, 2003 Web Services Brief Overview & Security Assertion Coordinator Pattern by Mohammad Abushadi & Riaz Ahmed for Security Group CSE -
Multi-Mode Survey Management An Approach to Addressing its Challenges
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
HP © 2007 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Introduction to SmartFrog v 1.01.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Distributed components
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Technical Architectures
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Components and Architecture CS 543 – Data Warehousing.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space User Oriented Provisioning of Secure Virtualized.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Understanding and Managing WebSphere V5
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
SOA, BPM, BPEL, jBPM.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
The Design Discipline.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
An Introduction to Software Architecture
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Cluster Reliability Project ISIS Vanderbilt University.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Provisioning/Deployment CDDLM-WG (Configuration Description, Deployment and Lifecycle Management) December 4, 2003 Takashi Kojo, NEC.
Components of Database Management System
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
10/6/2015 ©2007 Scott Miller, University of Victoria 1 2a) Systems Introduction to Systems Introduction to Software Systems Rev. 2.0.
Architecting Web Services Unit – II – PART - III.
Chapter © 2006 The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/ Irwin Chapter 7 IT INFRASTRUCTURES Business-Driven Technologies 7.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CDDLM Configuration Description Language (CDL) Jun Tatemura NEC Laboratories America GGF13, March
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 Automate your way to.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
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 Use of SDD in Grid Deployment Based on GGF CDDLM Jun Tatemura NEC Laboratories America Sept 14, 2005.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Peter Ziu Northrop Grumman ACS-WG Grid Provisioning Appliance Concept GGF13, March 14, 2005
Business Process Execution Language (BPEL) Pınar Tekin.
CERN Openlab Openlab II virtualization developments Havard Bjerke.
Introduction to Oracle Forms Developer and Oracle Forms Services
Building Enterprise Applications Using Visual Studio®
Netscape Application Server
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
SmartFrog An Open Source Application Configuration and Deployment Framework Linux Bangalore 2004 Contributors: Ashish Awasthi, Kumaravel Ganesan,
Service-centric Software Engineering
Analysis models and design models
An Introduction to Software Architecture
Presentation transcript:

© 2003 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice SmartFrog Overview HP Labs Version: 0.6 (Draft) Localized for US English

page 2July 2003 What is SmartFrog? SmartFrog: “Smart Framework for Object Groups” Describes services as collections of components Activates services by realizing service descriptions Framework elements: – language – engine – components A framework to build from, not a packaged solution Mature; already embedded in products

page 3July 2003 SmartFrog framework language parser process model transport protocol transactional lifecycle discovery naming scripting transforms templates component model reliability services deployment binding live-ness security model config servers workflows config. models Language Components Engine

page 4July 2003 What problem does it solve? How to configure & automatically activate complex, distributed apps – flexible – repeatable – sequencing, failure-recovery, evolution, adaptation, … Ideal for the utility computing model – automatic app activation on utility resources – enables rapid resource repurposing for different apps

page 5July 2003 How does SmartFrog address the problem? 1. The common problems No standard method to capture service config., multiple: – definitions of each value – mechanisms for access – notations (XML, ini files, SQL,...) No method of validation for the configuration as a whole – variable lifecycles – no up-front consideration of complete system startup/shutdown – lack of facility to compose systems from sub-systems No separation of concerns – functionality and configuration mixed together – rigid location and binding integrated into code Lack of auto-discovery, self-monitoring, and automation

page 6July 2003 How does SmartFrog address the problem? 2. Philosophy Services are collections of components – software, data: disk files, hardware Components collaborate to achieve some goal for which they must be appropriately organised: – required components must be defined – correctly initialised, with appropriate attributes – be able to locate each other as required – exchange information regarding their state

page 7July 2003 How does SmartFrog address the problem? 3. Approach Language allows rich system descriptions Engine automates application deployment, activation, management and shutdown Component model allows the engine to be extended

page 8July 2003 Examples Network monitoring application – many monitoring components spread throughout the network – each component must be correctly configured – service as a whole must be correctly configured / customized – service components must come up in the correct sequence Three-tier web application – database, application logic engine and web-server must each be installed, configured and started correctly – must be started on the correct host(s), in the correct sequence

page 9July 2003 SmartFrog elements Language – templates / descriptions Engine – interprets descriptions to activate running services Components – make up the running service – deployed, configured & activated by the engine Language Engine activates running components managed, monitored through lifecycle which service components? running where? how is each component initialised? how are components related? how are the component lifecycles sequenced?

page 10July 2003 Language properties Attribute:value pairs in a structured containment hierarchy Properties – declarative (a data description language, not a programming language) – instance-inheritance (prototype-based); allow templates to be progressively redefined – flexible linking between attributes and values – value resolution can be delayed to deployment time – composition: build larger descriptions out of smaller parts Note: not XML-based, but can use XML as an input or output format if needed

page 11July 2003 Language example webServerTemplate extends { sfProcessHost “localhost”; port 80; useDB; } dbTemplate extends { userTable extends { columns 4; rows 3; } dataTable extends { columns 2; rows 5; } #include “wstemplate.sf” #include “dbtemplate.sf” sfConfig extends { commonPort 8080; ws1 extends webServerTemplate { sfProcessHost “webserver1.hpl.hp.com”; port ATTRIB commonPort; } ws2 extends webServerTemplate { sfProcessHost “webserver2.hpl.hp.com”; port ATTRIB commonPort; useDB LAZY ATTRIB db; } db extends dbTemplate { userTable:rows 6; } wstemplate.s f dbtemplate.s f webservice.s f

page 12July 2003 Language: composing descriptions E.g. Apache Web-server e.g. reliability & recovery thresholding e.g. servers, storage networking e.g. n-tiers including firewall rules e.g. 3-tier web service on Linux cluster front-end, Superdome back-end. fully-specified solution description e.g. SLAs software component descriptions application patterns composed: solution templates ‘farm’ patterns resource descriptions customer preferences parameterized

page 13July 2003 Engine Fully distributed engine comprised of SmartFrog daemons that run on each node – deploy service descriptions on any node and the engine will create components in the right place Daemons interpret SmartFrog descriptions – load components in the right sequence, in the right place, with correct configuration parameters – orchestrate the whole system by stepping components through their complete lifecycles Provides liveness and component-tree navigation mechanisms Many services can be deployed simultaneously using the same engine Service un-deployment allows clean service removal

page 14July 2003 Security Engine provides secure deployment based on PKI All nodes have certificates installed All component code and descriptions must be signed If node has valid certificate and code/descriptions are correctly signed, then deployment is allowed Single-level security model (all deployed services operate within the same trust domain for a given certificate set)

page 15July 2003 Component model SmartFrog components all implement a simple lifecycle that allows the engine to control them Allows systems of components to be started consistently import com.hp.SmartFrog.Prim.*; import java.rmi.*; public class MyPrim extends PrimImpl implements Prim, … { /* any component specific declarations */ public MyPrim() throws RemoteException {} public void sfDeploy() throws Exception { super.sfDeploy(); /* any component specific initialization code */ } public void sfStart() throws Exception { super.sfStart(); /* any component specific start-up code */ } public void sfTerminateWith(TerminationRecored tr) { /* any component specific termination code */ super.sfTerminateWith(tr); } /* any component specific methods */ }

page 16July 2003 Components SmartFrog has an extensible component set Some basic components form the core of the system, e.g.: – “Prim”: the primitive component – everything inherits from it – “Compound”: implements a “shared-fate” lifecycle for groups of components – Sequence: implements a sequential lifecycle for components Other components provide system services: discovery mechanisms, reliability building blocks, host scripting, JMX support, … Components are written as needed to support new services and wrap application components

page 17July 2003 Encapsulating non-SmartFrog components We don’t need to write our whole application/service in SmartFrog Java components -- it’s easy to encapsulate non-SmartFrog things, e.g. Apache web-server: wrapper components to – install and configure software (and remove) – stop and start the service We describe Apache and its required configuration in a SmartFrog description (using an Apache SF template) When deployed, the SF Apache component can install, configure, start, stop and remove Apache Apache can be used as a component of larger services

page 18July 2003 Implementation details Implemented completely in Java (using JDK1.4) – works across all standard Java platforms Uses Java RMI as transport Core system size – ~10K non-commented lines of Java – ~750 lines of description files – binaries: KBytes depending on services included

page 19July 2003 Research questions Rich research space spanning language, engine, and components – reliability (basic mechanisms, generic recovery patterns) – security – combining reliability and security – scalability – language specification – service debugging tools – standardized interfaces to resource management subsystems – standardized interfaces to node image deployment subsystems – generic system/service visualization tools

page 20July 2003 Business opportunity App developers – better enable apps for Grid and utility computer models – optimize application for specific hardware configurations – improve development (rapid deployment) Solution providers – improve app configuration, deployment, and management – more secure and reliable solutions – quicker time to deployment and adaptation Happier users – more stable systems – customization to specific needs – more control over solutions

page 21July 2003 Framework status Developing an open source (LGPL-licensed) release of the core framework (availability calendar ‘03) Earlier preview / alpha releases planned Deployed within HP/Agilent products Experience with: – Apache – BEA Weblogic – Maya CGI rendering engine – Oracle

page 22July 2003 Some related work Grid standards for Grid/utility computing Imaging / provisioning systems: Altiris, Rembo, Novadigm (+ many others) MS Dynamic Systems Initiative, MS Provisioning System Adaptive systems: ThinkDynamics, Corosoft IBM eLiza, autonomic computing Proprietary (product-specific) solutions in place today for installation / configuration / activation

page 23July 2003 Standardization goals Improve Grid applications – specification, deployment, configuration & life-cycle mgmt Standardize SF language, app templates, and SF engine Create multiple reference implementations of – engine – app templates (Application Server, JBOSS, WebLogic) Define SF integration with Grid Form a GGF WG

page 24July 2003 SmartFrog benefits Increased operational reliability Improved quality Assured correctness and consistency Increased security Reduced cost Improved customer experience

page 25July 2003 Summary SmartFrog framework (language, templates, engine) supports: – specification, deployment, configuration, and life-cycle mgmt Well suited for a utility computing model Addresses needs of complex distributed applications Business benefits for application developers, ISPs, & users We are seeking partners & lighthouse users – jointly standardize key elements – develop with reference implementations – create templates for specific applications – establish a wide technical community

HP logo