Meta-Programming middleware for distributed object computing 2003 Peter Breitling Fakultät für Informatik Technische Universität München.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
COM vs. CORBA.
General introduction to Web services and an implementation example
The road to reliable, autonomous distributed systems
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Harness and H2O Alternative approaches to metacomputing Distributed Computing Laboratory Emory University, Atlanta, USA
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Distributed Heterogeneous Data Warehouse For Grid Analysis
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
1 Introduction CSIE, Da-Yeh University. 2 History of Software Development Traditional Programming Paradigm  Behind schedule, costly, and unreliable.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
WEB SERVICES Mahmoud Rabie – EGJUG W EB SERVICES The world before Situation Problems Solutions Motiv. for Web Services Probs. with Curr. sols. Web.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Architecting Web Services Unit – II – PART - III.
Information Management NTU Interprocess Communication and Middleware.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Grid Services I - Concepts
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
SOAP RMI Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab A New-Old Programming Model for.
A service Oriented Architecture & Web Service Technology.
The Object-Oriented Thought Process Chapter 13
Maven 04 March
Sabri Kızanlık Ural Emekçi
Architecting Web Services
WEB SERVICES.
Java Distributed Computing
CORBA Alegria Baquero.
Architecting Web Services
What is RMI? Remote Method Invocation
Distribution and components
Wsdl.
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CORBA Alegria Baquero.
Web services, WSDL, SOAP and UDDI
Inventory of Distributed Computing Concepts
Component--based development
Chapter 17: Client/Server Computing
Introduction to Web Services
Towards Integrating Java EE into ProtoCom
Distributed System using Web Services
Presentation transcript:

Meta-Programming middleware for distributed object computing 2003 Peter Breitling Fakultät für Informatik Technische Universität München

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 introduction : the vision of the web of objects Marc Andreesen, netscape Cofounder (1996) The internet as a web of software objects where –software is composed of and references distributed web objects, –the objects are loaded dynamically on client or leave on server, –we „use“ our set of applications seamlessly on any computer... is still a vision. Instead: –software uses existing libraries by copy-and-paste. –web objects are mainly used as services –we manually „download an use“ our set of applications on each computer with application specific update mechanisms. „We expect that over the next few years IIOP will become as ubiquitous as HTTP and CGI“

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 Internet as a web of objects  Benifits in contrast to local applications include: –Location independent personal environment and profile –Data security: Background backup, replication to server –Interoperable update mechanisms on component level –Basis for „Application Service Providing“ Additional requirements for local web applications: –Provider concept: Each software object has a known origin –Offline capabilities: Software can work (sometimes partially) offline –Security: The software should run in a sandbox –Privacy: controllable access to personal data and profile

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 Possible approaches Different possible approaches to the problem  define yet another component system.  extend an existing doc middleware with more manageable location service and implementation replication.  define a middleware layer where existing technologies can be adapted to and extended services can be implemented on top.

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 Different possible approaches to the problem  define yet another component system.  extend an existing doc middleware with more manageable location service and implementation replication.  define a middleware layer where existing technologies can be adapted to and extended service can be implemented on top. Possible approaches

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 introduction: meta-programming What is Meta-Programming: –Literally: programming where programms are data –In context of doc: dynamic software generation, mapping and reuse Meta-Programming application domains: –Adaption and monitoring –Packaging and distribution –Installation and reconfiguration Well known Meta-Programming examples: –compiler, debugger, profiler, interpreter On the programming level (and often compared for doc in literature): –pluggable protocols, interceptors, smart proxies Mostly handwork and application specific!

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 introduction: technology dependency Dependency of specific technology for software devolopment phases Requirements Elicitation Specification Design Implementation Integration Maintenance / Adaption / Reuse weak dependency strong dependency

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 Metadoc prototype: a meta-middleware Observation: ► Meta-Programming features are strongly technology dependent Approach with Metadoc: ► Find an abstract and technology-independent model for Meta- Programming in the context of doc that –provides standardized interoperable mechanisms –focuses on object generation, mapping and reuse

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 approach: find common, abstract model Classic elements of doc-computing –Entities: object-interfaces, -implementations, -instances –Object registry, location and activation mechanisms –Access-references (RPC) between object instances through protocols... are not enough for management for deployment and reuse since: –Existing environment dependencies (e.g. of next tier, database, filesystem) –Missing mechanisms and meta-information for deployment and update like origin and usage Thus a special abstract model is introduced for meta-middleware with –software components as resources –Component context as environments

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15  Extended oo-view with 4 fundamental resource classes –type: dependent of the resource class binary: mime-type document: document-type implementation, instance: document res.-ref. of type interface –state: subset of serializable, registered, persistent, published, versioned –attributes: (name, value) set, extendable and managed by value –(registry, name): registry reference and name in registry if registered name unique in registry, registry identifier globally unique The doc resource model for meta-programming  Resources are 5 tupels: Resource (type, class, state, attributes, registry) instanceimplementationdocumentbinary

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 example: resource type transformations Resource Binary Document Implementation Instance cast serialize new

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 Metadoc: Reference implementation in Java Environment connectors Environment configuration Framework implementation Framework API Resource resolver IIOP, HTTP / WebDAV, WSDL / SOAP UI, XML, (API) Java,.Net, Corba OO, procedural, scripting IIOP, HTTP, WSDL / SOAP Prop. IEP P2P, Client Server

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 Prototype configuration UI Accessible by existing web- technologies Environment configuration Access to existing web-technologies Environment Framework implementation

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 an abstracted view on existing technologies  Filesystems as Binary Registries  Binary resource remote access through NFS, SMB, FTP, HTTP, WebDAV,...  XML-Databases as Document Registries  Corba Interface Repository as a Document Registry of class Interface  Corba Services, UDDI as Instance Registries  Instance resource remote access through RPC, IIOP, RMI, SOAP...  Corba Implementation Repositories as Implementation Registries  Locating / Trading implementations with local instanciatiation not standardised in existing doc-middleware though it is a central functionality for a web-of-objects.

Meta-Programming middleware for distributed object computing, Peter Breitling, DAIS / 15 summary and future work  Interoperable specification for access on distributed resources –Integrated management and access to binaries, documents and object implementation and instances. –Mappable in different ways to existing middleware technologies –Capable for implementing sophisticated deployment and reuse methods. –Methods for security (mostly), persistency, transactions on application level  Prototype in Java, supported protocols: –HTTP / WebDAV: binary, document and implementation connectors and resolver –IIOP: Interface and instance environment and resolver –EJB,.Net: Interface and Instance resolver (not in first release) –IEP: Inter-environment configuration and resolver protocol ► Project homepage and up-to-date information: please register for notification about first release (thank you).