N-JIS: a System for Web Services Integration in Java RMI Distributed Applications

Size: px
Start display at page:

Download "N-JIS: a System for Web Services Integration in Java RMI Distributed Applications"

Transcription

1 N-JIS: a System for Web Services Integration in Java Distributed Applications M. Bianchi Dipartimento di Informatica, Universitá di L Aquila, Via Vetoio L Aquila, Italy. bianchi@netlab.rm.cnr.it C. Gaibisso Netlab, Istituto di Analisi dei Sistemi ed Informatica Antonio Ruberti, Consiglio Nazionale delle Ricerche, V.le Manzoni, Rome, Italy. gaibisso@iasi.rm.cnr.it G. Gambosi Netlab, Istituto di Analisi dei Sistemi ed Informatica Antonio Ruberti, Consiglio Nazionale delle Ricerche, V.le Manzoni, Rome, Italy. Dipartimento di Matematica, Universitá di Roma Tor Vergata, Via della Ricerca Scientifica Rome, Italy. gambosi@mat.uniroma2.it ABSTRACT In this paper we describe the main architectural and implementation aspects of a system, the Netlab Java Integration of distributed applications to access RPC based Web Services in the same way they access Objects. Moreover N-JIS allows to register multiple components, either Objects or Web Services, providing the same functionalities and is able to perform a run time selection of the best component according to a programmer specified evaluation criterion. KEY WORDS Web Services, Software Reuse,, Distributed Programming Technologies Integration 1 Introduction The last five years have seen the widespread diffusion of object oriented programming languages, in particular Java [1], [2], and of the connectors and components based approach in the design and implementation of distributed systems and applications. At the same time, thanks to the large availability of computer networks, the interest of major software technologies producers has been captured by distributed systems potentiality [3]. This interest resulted in the definition of distributed object oriented software architectures, such as CORBA [4], DCOM [5] and [6],[7], based on the client-server paradigm. These technologies extend traditional object-oriented systems by making it possible to distribute and run objects on any of the hosts of a computer network. The derived problem of objects interaction is addressed by abstracting and hiding networking issues, thus letting programmers concentrate on the business logic of their applications. The basic idea behind network abstractions, like Remote Procedure Call (RPC), is make it possible for both clients and servers to agree on a local calling convention and thereby be unaware of the details of calling remote implementations or of being remotely called. The concept of interface is crucial in the definition of a calling convention. An interface declares the sets of operations available to the clients to interact with the servers. Each operation is identified by a name and by a signature. The major drawback of currently available distributed architectures is that they are not compatible, i.e. they adopt different conventions for the objects to locate and communicate each other. Web Services technology has been recently introduced to solve this incompatibility. According to a Microsoft definition quoted by [8], A Web Service is programmable application logic accessible using standard Internet protocols. Web Services combine the best aspects of component-based development and the Web. Like components, Web Services represent black-box functionality that can be reused without worrying about how the service is implemented. Unlike current component technologies, Web Services are not accessed via object-modelspecific protocols, such as the Distributed Component Object Model (DCOM), Remote Method Invocation (), or Internet Inter-ORB Protocol (IIOP). Instead, Web Services are accessed via ubiquitous Web protocols and data formats, such as Hypertext Transfer Protocol (HTTP) and Extensible Markup Language (XML).

2 SOAP [9] and WSDL [10] have become the facto standards for Web Services messaging and invocation, and description, respectively. WSDL files describe exactly what messages needs to be sent and how to use the various Internet standard messaging protocols and encoding schemes in order to format the messages to be acceptable to the service provider. In addition WDSL files describe where the service is located, or more precisely, to which network address messages must be sent in order to invoke the Web Service [8]. In this paper we describe the main architectural and implementation aspects of a system, the Netlab Java Integration of distributed applications to access RPC based Web Services in the same way they access Objects. Moreover, N-JIS allows to register multiple components, either Objects or Web Services, providing the same functionalities and is able to perform a run time selection of the best component according to a programmer specified evaluation criterion. It is worth noting that: the choice of is not casual. Among the currently available distributed programming technologies, is the less flexible one with respect to the integration with other not-java based solutions [11]; despite the choice of the particular technological scenario, the proposed architecture is general enough to be easily extended to distributed programming technologies other than, such as DCOM and CORBA. According to our operational model, in order to be accessed by based distributed applications, RPC based Web Services and Objects have to be registered in the system. The whole registration process is automatic, with the only exception, in the case of RPC based Web Services, of the definition of a mapping between the methods of a remote Java interface and those exposed by an RPC based Web Service. This mapping cannot be automatically derived, unless some semantic information concerning the methods signatures is available. Once objects and Web Services have been registered, programmers may identify remote components by specifying the corresponding remote interface and an evaluation criterion to be adopted by N-JIS to perform the selection among the registered components implementing that interface. N-JIS will, independently from the selected component return an absolute address,. The paper is organized as follows: section 2 introduces the N-JIS main functionalities; section 3 describes the main aspects of the N-JIS architecture; section 4 provides some implementation details of a N-JIS prototype; Finally, section 5 summarizes the advantages introduced by the adoption of N-JIS and describes some possible future works. RPC Component Developer Based Distributed Applications Request New N JIS Service Definition Request N JIS Figure 1. Main functionalities offered by N-JIS 2 N-JIS Main Functionalities The main idea underlying N-JIS is to associate a N-JIS Name to a Java Remote and a list of points of access to a set of s providing the same service defined by the Java Remote. The pair (N-JIS Name, Java Remote ), will be referred to as N-JIS Service. An is either an Object or an RPC based Web Service, respectively referred to as Component and in what follows. The point of access to an Component is the absolute address of the component itself. The point of access to a WS Component is the absolute address of an object implementing a mapping between the methods of the Java Remote and those exposed by the. This object, referred to as in what follows, is automatically generated by the system at the time of registering the, and makes it possible to undirectly invoke any method exposed by the by simply invoking the corresponding Java Remote method. An absolute address takes the form rmi:// hostname [: nameservport ]/ servname, where hostname is a name recognised on the local area network or a DNS name on the Internet, and a nameserv- Port is required if the naming service is running on a port different from the default one [12]. As shown in figure 1, two main user categories are interested in the services offered by N-JIS: developers who wants their RPC components to be available to distributed applications programmers; developers of based distributed applications. N-JIS makes it possible for developers of RPC components to define new N-JIS Services and to register RPC Components as new implementations of already existing N-JIS Services. In what follows we will not deal with the problem of defining a new N-JIS Service, since it really does not introduce any significant difficulty with respect to that of registering a new RPC component. In writing their code, developers of based distributed applications, only have to specify the N-JIS name associated to the remote interface they are interested in, and

3 N JIS Developers Service Registrator Java Remote Points of Access Java Remote Points of Access Activator Java Remote Points of Access Based Applications Selector Figure 3. content Figure 2. Main N-JIS logic components and their interactions an evaluation criterion to be applied by N-JIS in the selection of RPC components. They need not be aware of any absolute address. N-JIS selects the best RPC component, according to the specified evaluation criterion, among those associated to the specified N-JIS name. s criteria are more deeply treated in [13]. If the component is an object, its absolute address is returned to the application. Otherwise, if the component is a Web Service, N-JIS returns the absolute address of a, i.e. an object implementing a mapping between the methods in the N-JIS Service Remote and those exposed by the Web Service. It is worth noting that, apart from whether the selected RPC component is an or a, N-JIS always returns the address of an object implementing the remote interface associated to the selected N- JIS Name, thus making it possible to refer RPC based Web Services the same way objects are referred. Service Registrator Component Information Component Component Component Component Information Activator 3 N-JIS Software Architecture As shown in figure 2, N-JIS has three main architecture components: a Service Registrator, a Activator and an Selector. 3.1 The Service Registrator Component The Service Registrator component processes the registration of new RPC components. It maintains all the information concerning already registered RPC compontents in a, as shown in figure 3. Inside the Service Registrator the collects the information required to successfully complete a registration. Apart from the N-JIS Name, that must be always specified, this information is dependent from the type of the to be registered. In the case of an Component, its absolute address is required. Registering a is a bit more complicated. In fact, the following information must to be supplied: Figure 4. Service Registrator architecture the of a describing the ; the which specifies the mapping between the methods in the Java Remote associated to the N-JIS Name and those exposed by the, described by the WSDL file. Once identified the type of the to be registered, the delegates the registration process either to the Component or to the. The Component, simply adds the absolute address of the component to the list of addresses associated to the N-JIS Name in the. The invokes

4 Service Registrator Distributed Application Activator JVM Run Request Registry Code Remote Object Remote Object Code Generator WSDL Internet Selector Evaluator Value of Convenience Evaluator Evaluator Selector Value of Convenience Component Component Evaluator List of es Figure 5. Activator architecture Figure 6. Selector architecture the Activator to generate and instantiate a implementing the mapping described by the, receiving back its absolute address. Finally, the WS Component adds this address to the list of addresses associated to the N-JIS Name in the. 3.2 The Activator Component As shown in figure 5, the inputs to the Activator component are a N-JIS Name, a and the of a WSDL file. The Activator is in charge of generating and running a implementing the mapping between the methods of the Remote Java and those listed in the WSDL file according to the mapping coded in the. Inside the Activator, the retrieves the Java Remote associated to the N-JIS Name in the and generates an absolute address for the, which is not yet assigned. The then invokes the Code Generator to generate the code taking into account the absolute address assigned to the, the of the WSDL file, the and the Java Remote. Finally, the runs the on a local JVM and returns the absolute address of the to the Service Registrator. 3.3 The Selector Component As shown in figure 6, the Selector selects the best associated to the specified N-JIS Name, according to the specified evaluation criterion. If the selected is a, the Remote Object Selector returns the absolute address of the corresponding, otherwise returns the absolute address of the selected Component. Inside the Selector, the Selector is the system interface toward the based distributed application. First of all, it retrieves the list of the absolute addresses associated to the N- JIS Name in the. Then, for each address in this list, the RPC Component Selector invokes the Evaluator to evaluate the convenience of the corresponding according to the adopted evaluation criterion. The same component collects all the values of convenience computed by the Evaluator and returns to the application the address corresponding to the

5 best of them. Inside the Evaluator, the Evaluator, depending on the incoming address and the selected evaluation criterion, selects the Object Evaluator or the Web Services Evaluator to use. The Evaluator receives back a value of convenience and returns it to the Remote Object Selector. The structure and functionality of these evaluators are not subjects of this paper. 4 Implementation Notes This section contains some implementation notes concerning the development of a first prototype of N-JIS. The implementation activity has been oriented toward the realization of a first prototype of the N-JIS system by which testing its functional correctness. All adopted solutions have the aim of privileging code reusability and system scalability. More in details: the prototype is implemented in Java and make massive use of technologies; the dynamic generation of the has been made possible by the use of the Sun Web Service Developer Pack [14]; the content is distributed in several Lightweight Directory Access Protocol (LDAP) servers [15],[16]. Thus distributing the management of the archive content; the code generation is accomplished by personaziling a Java Template, which is not dependent by the particular mapping to be implemented. 5 Conclusions and Further Works In this paper we described the main architectural and implementation aspects of a system, the Netlab Java Integratio of distributed applications to access RPC based Web Services in the same way they access Objects. Moreover N-JIS allows to register multiple components, either Objects or Web Services, providing the same functionalities and is able to perform a run time selection of the best component according to a programmer specified evaluation criterion. As a consequence, a larger set of s will be available to developers of distributed applications. For the next future it is our intention to extend N- JIS functionalities to support the dynamic discovering and binding of Web Services. Furthermore we would like to generalize our architecture to offer N-JIS functionalities to DCOM and CORBA developers too. The authors wish to thank Flavio Lombardi and Maurizio Vitale for their technical support, comments and suggestions. References [1] D. Kramer: The Java Platform, A White Paper. Java- Soft, May : [2] J. Gosling, H. McGilton: The Java Language Environment. JavaSoft, October : [3] G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems Concepts and Design ( 2ed., Addison Wesley). [4] The Official CORBA Site: [5] The Official DCOM Site: com/tech/dcom.asp. [6] Java Specification: Sun Microsystems Inc., 1999, [7] -IIOP Programmer s Guide: Sun Microsystems Inc., 1999, ducts/rmiiiop/index.html. [8] S. Graham, S. Simeonov, T. Boubez, and alt. Building Web Services with Java, SAMS Ed., (2002). [9] W3C, SOAP v1.1: [10] W3C, WSDL: [11] Peter Hrastnik, Comparison of Distributed System Technologies for E-Business, Proc. of the ¾ Ò International Interdisciplinary Conference on Electronic Commerce (ECOM-02), Sopot, Poland, November, [12] Fundamentals of : Short Course by jguru, [13] M. Bianchi, C. Gaibisso, M. Vitale A Java Meta- Registry for Remote Service Objects, Proc. of the Communications, Internet and Information Technology (CIIT 2002), St. Thomas, US Virgin Islands, November, [14] Sun Microsystem Co., Java Web Services Developer Pack: [15] LightWeight Directory Access Protocol (v2): RFC 1777, txt. [16] H.Johner, L.Brown, F.S.Hinner, W.Reis, J.Westman, Understanding LDAP: redbooks.ibm.com. Acknowlegments

A JAVA META-REGISTRY FOR REMOTE SERVICE OBJECTS

A JAVA META-REGISTRY FOR REMOTE SERVICE OBJECTS A JAVA META-REGISTRY FOR REMOTE SERVICE OBJECTS Dott. Marco Bianchi Netlab, Istituto di Analisi dei Sistemi ed Informatica del C.N.R Viale Manzoni, 30 00185 Rome Italy Dott. Carlo Gaibisso Istituto di

More information

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA CONSIGLIO NAZIONALE DELLE RICERCHE C. Gaibisso, G. Gambosi, M. Lancia, G. Martufi, E.A. Mastromartino MOBILE CODE IMPLEMENTATION OF THE PROTOCOL IN JAVA:

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.

More information

Chapter 8 Web Services Objectives

Chapter 8 Web Services Objectives Chapter 8 Web Services Objectives Describe the Web services approach to the Service- Oriented Architecture concept Describe the WSDL specification and how it is used to define Web services Describe the

More information

A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability

A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability Abstract Paul Grace 1, Gordon Blair 1 and Sam Samuel 2 1 Computing Department, Lancaster University,

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Incorporating applications to a Service Oriented Architecture

Incorporating applications to a Service Oriented Architecture Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

Performance comparison of DCOM, CORBA and Web service

Performance comparison of DCOM, CORBA and Web service Performance comparison of DCOM, CORBA and Web service SeongKi Kim School of Computer Science and Engineering Seoul National University, 56-1 Sinlim, Kwanak Seoul, Korea 151-742 Abstract - The distributed

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking SOA and Web Services Docente: Vito Morreale (vito.morreale@eng.it) 1 1st & 2nd Generation Web Apps Motivation

More information

Achieving Architectural Design Concepts with Remote Method Invocations

Achieving Architectural Design Concepts with Remote Method Invocations Achieving Architectural Design Concepts with Remote Method Invocations L.ilteri ÖNEY E1305937 Computer Engineering Department - METU Dr.Semih ÇETN ABSTRACT Motivation to write this article is based on

More information

UPnP Services and Jini Clients

UPnP Services and Jini Clients UPnP Services and Jini Clients Jan Newmarch School of Network Computing Monash University jan.newmarch@infotech.monash.edu.au Abstract UPnP is middleware designed for network plug and play. It is designed

More information

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1 Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects

More information

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA CONSIGLIO NAZIONALE DELLE RICERCHE M. Cannarella, M. Draoli, G. Gambosi, C. Gaibisso, M. Lancia DESIGNING RELIABLE ATM NETWORKS FOR MULTIMEDIA INTERACTIE

More information

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Agent-Enabling Transformation of E-Commerce Portals with Web Services Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:

More information

5.3 Using WSDL to generate client stubs

5.3 Using WSDL to generate client stubs Type Definition Table 5.1 Summary of WSDL message exchange patterns 168 Describing Web services Chapter 5 z - L. - achieving this is WSDL2Java provided by Axis. Axis is an open source toolkit that is developed

More information

What Is Service-Oriented Architecture

What Is Service-Oriented Architecture What Is Service-Oriented Architecture by Hao He September 30, 2003 "Things should be made as simple as possible, but no simpler." -- Albert Einstein Introduction Einstein made that famous statement many

More information

Position Paper on the Definition of SOA-RM

Position Paper on the Definition of SOA-RM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Position Paper on the Definition of SOA-RM Authors: C. Matthew MacKenzie (mattm@adobe.com), Duane A.

More information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure

More information

Distributed Systems Middleware

Distributed Systems Middleware Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30

More information

A short introduction to Web Services

A short introduction to Web Services 1 di 5 17/05/2006 15.40 A short introduction to Web Services Prev Chapter Key Concepts Next A short introduction to Web Services Since Web Services are the basis for Grid Services, understanding the Web

More information

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to

More information

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to

More information

Advanced Lectures on knowledge Engineering

Advanced Lectures on knowledge Engineering TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/

More information

A Truncated Newton Method in an Augmented Lagrangian Framework for Nonlinear Programming

A Truncated Newton Method in an Augmented Lagrangian Framework for Nonlinear Programming A Truncated Newton Method in an Augmented Lagrangian Framework for Nonlinear Programming Gianni Di Pillo (dipillo@dis.uniroma1.it) Giampaolo Liuzzi (liuzzi@iasi.cnr.it) Stefano Lucidi (lucidi@dis.uniroma1.it)

More information

Towards a Web-centric Legacy System Migration Framework

Towards a Web-centric Legacy System Migration Framework Towards a Web-centric Legacy System Migration Framework Ying Zou and Kostas Kontogiannis Dept. of Electrical & Computer Engineering University of Waterloo Waterloo, ON, N2L 3G1, Canada {yzou, kostas}@swen.uwaterloo.ca

More information

Crop Production Recognize Frameworks using Mobile Enterprise Application

Crop Production Recognize Frameworks using Mobile Enterprise Application , 22-24 October, 2014, San Francisco, USA Crop Production Recognize Frameworks using Mobile Enterprise Application Haeng Kon Kim and Roger Y Lee Abstract In this paper we propose an Enterprise Application

More information

Service-Oriented Programming

Service-Oriented Programming Service-Oriented Programming by Guy Bieber, Lead Architect, ISD C4I, Motorola ABSTRACT - The Service-Oriented Programming (SOP) model is the most exciting revolution in programming since Object Oriented

More information

Implementing Remote Procedure Calls*

Implementing Remote Procedure Calls* Overview Implementing Remote Procedure Calls* Birrell, A. D. and Nelson, B. J. Brief introduction RPC issues Implementation Examples Current RPC implementations Presented by Emil Constantinescu Review

More information

1. Introduction and Concepts

1. Introduction and Concepts A4M36AOS Architektury orientované na služby 1. Introduction and Concepts Jiří Vokřínek Agent Technology Center Department of Computer Science Faculty of Electrical Engineering, Czech Technical University

More information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

A Model-Transformers Architecture for Web Applications

A Model-Transformers Architecture for Web Applications A -Transformers Architecture for Web Applications Alexey Valikov, Alexei Akhounov and Andreas Schmidt Forschungszentrum Informatik Haid-und-Neu Str. 10-14 76131 Karlsruhe, Germany {valikov, akhounov, aschmidt}@fzi.de

More information

Composite Web Services for E-Activities

Composite Web Services for E-Activities Proceedings of the 5th WSEAS International Conference on E-ACTIVITIES, Venice, Italy, November 20-22, 2006 115 Composite Web Services for E-Activities STOICA CRISTINA, STOICA VALENTIN, IONESCU FELICIA,

More information

Module 12 Web Service Model

Module 12 Web Service Model Module 12 Web Service Model Objectives Describe the role of web services List the specifications used to make web services platform independent Describe the Java APIs used for XML processing and web services

More information

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Web Services. XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Platform: Windows COM Component Previously

More information

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005 Realisation of SOA using Web Services Adomas Svirskas Vilnius University December 2005 Agenda SOA Realisation Web Services Web Services Core Technologies SOA and Web Services [1] SOA is a way of organising

More information

SHORT NOTES / INTEGRATION AND MESSAGING

SHORT NOTES / INTEGRATION AND MESSAGING SHORT NOTES / INTEGRATION AND MESSAGING 1. INTEGRATION and MESSAGING is related to HOW to SEND data to and receive from ANOTHER SYSTEM or APPLICATION 2. A WEB SERVICE is a piece of software designed to

More information

Introduzione ai Web Services

Introduzione ai Web Services Introduzione ai Web s Claudio Bettini Web Computing Programming with distributed components on the Web: Heterogeneous Distributed Multi-language 1 Web : Definitions Component for Web Programming Self-contained,

More information

3C05 - Advanced Software Engineering Thursday, April 29, 2004

3C05 - Advanced Software Engineering Thursday, April 29, 2004 Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object

More information

A Higher Level Abstraction for Mobile Computing Middleware

A Higher Level Abstraction for Mobile Computing Middleware A Higher Level Abstraction for Mobile Computing Middleware Paul Grace 1, Gordon Blair 1 and Sam Samuel 2 1 Computing Department, Lancaster University, Lancaster, LA1 4YR, UK. {p.grace@lancaster.ac.uk,

More information

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise

More information

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1 Distributed Systems Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1 Service Oriented Architectures (SOA) A SOA defines, how services are

More information

Service Oriented Architectures Visions Concepts Reality

Service Oriented Architectures Visions Concepts Reality Service Oriented Architectures Visions Concepts Reality CSC March 2006 Alexander Schatten Vienna University of Technology Vervest und Heck, 2005 A Service Oriented Architecture enhanced by semantics, would

More information

Distributed Technologies - overview & GIPSY Communication Procedure

Distributed Technologies - overview & GIPSY Communication Procedure DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component

More information

Lesson 3 SOAP message structure

Lesson 3 SOAP message structure Lesson 3 SOAP message structure Service Oriented Architectures Security Module 1 - Basic technologies Unit 2 SOAP Ernesto Damiani Università di Milano SOAP structure (1) SOAP message = SOAP envelope Envelope

More information

UNITE 2003 Technology Conference

UNITE 2003 Technology Conference UNITE 2003 Technology Conference Web Services as part of your IT Infrastructure Michael S. Recant Guy Bonney MGS, Inc. Session MTP4062 9:15am 10:15am Tuesday, September 23, 2003 Who is MGS, Inc.! Software

More information

Topics on Web Services COMP6017

Topics on Web Services COMP6017 Topics on Web Services COMP6017 Dr Nicholas Gibbins nmg@ecs.soton.ac.uk 2013-2014 Module Aims Introduce you to service oriented architectures Introduce you to both traditional and RESTful Web Services

More information

Implementation Method of OGC Web Map Service Based on Web Service. Anthony Wenjue Jia *,Yumin Chen *,Jianya Gong * *Wuhan University

Implementation Method of OGC Web Map Service Based on Web Service. Anthony Wenjue Jia *,Yumin Chen *,Jianya Gong * *Wuhan University Implementation Method of OGC Web Map Service Based on Web Service Anthony Wenjue Jia *,Yumin Chen *,Jianya Gong * *Wuhan University ABSTRACT The most important advantage of web service is the multi-platform,

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

Promoting Component Reuse by Separating Transmission Policy from Implementation

Promoting Component Reuse by Separating Transmission Policy from Implementation Promoting Component Reuse by Separating Transmission Policy from Implementation Scott M. Walker scott@dcs.st-and.ac.uk Graham N. C. Kirby graham@dcs.st-and.ac.uk Alan Dearle al@dcs.st-and.ac.uk Stuart

More information

UNITE 2006 Technology Conference

UNITE 2006 Technology Conference UNITE 2006 Technology Conference Web Services: The Easy Way to Enterprise-Enable Your MCP Applications and Data F. Guy Bonney MGS, Inc. Session MCP3033 9:15am 10:15am Wednesday, October 11, 2006 Who is

More information

A Resource Model For Adaptable Applications

A Resource Model For Adaptable Applications A Resource Model For Adaptable Applications ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) Dipartimento di Informatica Università dell Aquila Italy May 22, 2006

More information

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008 Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing

More information

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS Master Thesis Michael Cífka Visual Development of Software Components Supervisor: Ing. Petr Tůma, Dr. I would like to thank my supervisor,

More information

Communication Ontological Description Process Fragment

Communication Ontological Description Process Fragment Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Communication Ontological Description Process Fragment M. Cossentino, V. Seidita Rapporto Tecnico N.: RT-ICAR-PA-10-01

More information

RESTful Web service composition with BPEL for REST

RESTful Web service composition with BPEL for REST RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

A Teaching Environment to Model and Simulate Computer Processors

A Teaching Environment to Model and Simulate Computer Processors A Teaching Environment to Model and Simulate Computer Processors Sebastiano PIZZUTILO and Filippo TANGORRA Dipartimento di Informatica Università degli Studi di Bari via Orabona 4, 70126 Bari ITALY Abstract:

More information

Improvement to the Smart Data Server with SOAP *

Improvement to the Smart Data Server with SOAP * Improvement to the Smart Data Server with * WANJUN HUANG, UWE ROTH, CHRISTOPH MEINEL Institute of Telematics Bahnhofstr. 30-32,D-54292, Trier GERMANY {huang,roth,meinel}@ti.fhg.de Abstract: - As a distributed

More information

Distributed Environments. CORBA, JavaRMI and DCOM

Distributed Environments. CORBA, JavaRMI and DCOM Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works

More information

Structured communication (Remote invocation)

Structured communication (Remote invocation) Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Structured communication (Remote invocation) Nov 8th, 2011 Netzprogrammierung (Algorithmen und Programmierung

More information

Chapter 5: Distributed objects and remote invocation

Chapter 5: Distributed objects and remote invocation Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications

More information

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and

More information

Container Services for High Confidence Software

Container Services for High Confidence Software Container Services for High Confidence Software Gary J. Vecellio, William M. Thomas, and Robert M. Sanders The MITRE Corporation 7515 Colshire Drive McLean, VA 22102-7508 {vecellio,bthomas,rsanders}@mitre.org

More information

Distributed Object Bridges and Java-based Object Mediator

Distributed Object Bridges and Java-based Object Mediator Distributed Object Bridges and Java-based Object Mediator Konstantinos Raptis, Diomidis Spinellis, Sokratis Katsikas An important aspect of research on software objects, components, and component-based

More information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components

More information

Java RMI Middleware Project

Java RMI Middleware Project Java RMI Middleware Project Nathan Balon CIS 578 Advanced Operating Systems December 7, 2004 Introduction The semester project was to implement a middleware similar to Java RMI or CORBA. The purpose of

More information

FUB, IASI-CNR and University of Tor Vergata at TREC 2008 Blog Track

FUB, IASI-CNR and University of Tor Vergata at TREC 2008 Blog Track FUB, IASI-CNR and University of Tor Vergata at TREC 2008 Blog Track Giambattista Amati 1, Giuseppe Amodeo 1, Marco Bianchi 2, Carlo Gaibisso 2, and Giorgio Gambosi 3 1 Fondazione Ugo Bordoni, Rome, Italy

More information

Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003

Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003 CS551: Advanced Software Engineering Service-Oriented Architecture Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003 Yugi Lee STB #560D (816)

More information

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck Lecture Telecooperation D. Fensel Leopold-Franzens- Universität Innsbruck First Lecture: Introduction: Semantic Web & Ontology Introduction Semantic Web and Ontology Part I Introduction into the subject

More information

Unit Testing with Déjà-Vu Objects

Unit Testing with Déjà-Vu Objects Unit Testing with Déjà-Vu Objects Sharareh Afsharian, Andrea Bei, and Marco Bianchi Abstract In this paper we introduce a new unit test technique called déjà-vu object. Déjà-vu objects replace real objects

More information

When Java technology burst onto the Internet scene in 1995,

When Java technology burst onto the Internet scene in 1995, MOBILE CODE SECURITY SECURE JAVA CLASS LOADING The class loading mechanism, LI GONG Sun Microsystems central to Java, plays a key role in JDK 1.2 by enabling When Java technology burst onto the Internet

More information

Semantic SOA - Realization of the Adaptive Services Grid

Semantic SOA - Realization of the Adaptive Services Grid Semantic SOA - Realization of the Adaptive Services Grid results of the final year bachelor project Outline review of midterm results engineering methodology service development build-up of ASG software

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio) Introduction to Distributed Systems INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio) August 28, 2018 Outline Definition of a distributed system Goals of a distributed system Implications of distributed

More information

Oracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo

Oracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo Oracle Exam Questions 1z0-863 Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam Version:Demo 1.Which two statements are true about JAXR support for XML registries? (Choose

More information

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview Distributed Systems Joseph Spring School of Computer Science Distributed Systems and Security Areas for Discussion Definitions Operating Systems Overview Challenges Heterogeneity Limitations and 2 Definitions

More information

Web Services Overview

Web Services Overview Web Services Overview Using Eclipse WTP Greg Hester Pacific Hi-Tech, Inc. greg.hester.pacifichitech.com 1 September 17, 2008 Agenda Web Services Concepts How Web Services are used Web Services tools in

More information

ICENI: An Open Grid Service Architecture Implemented with Jini Nathalie Furmento, William Lee, Anthony Mayer, Steven Newhouse, and John Darlington

ICENI: An Open Grid Service Architecture Implemented with Jini Nathalie Furmento, William Lee, Anthony Mayer, Steven Newhouse, and John Darlington ICENI: An Open Grid Service Architecture Implemented with Jini Nathalie Furmento, William Lee, Anthony Mayer, Steven Newhouse, and John Darlington ( Presentation by Li Zao, 01-02-2005, Univercité Claude

More information

On the Clustered Shortest-Path Tree Problem

On the Clustered Shortest-Path Tree Problem On the Clustered Shortest-Path Tree Problem (Short Communication) Mattia D Emidio 1, Luca Forlizzi 2, Daniele Frigioni 2, Stefano Leucci 3, Guido Proietti 2,4 1 Gran Sasso Science Institute (GSSI), Viale

More information

Göttingen, Introduction to Web Services

Göttingen, Introduction to Web Services Introduction to Web Services Content What are web services? Why Web services Web services architecture Web services stack SOAP WSDL UDDI Conclusion Definition A simple definition: a Web Service is an application

More information

Emergence of Distributed Engineering Web Services

Emergence of Distributed Engineering Web Services Emergence of Distributed Engineering Web Services Jun Peng 1, David Liu 2, Jinxing Cheng 3, Charles S. Han 4 and Kincho H. Law 5 1 Research Associate, Department of Civil and Environmental Engineering,

More information

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call 4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to

More information

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01 Introduction & RMI Basics CS3524 Distributed Systems Lecture 01 Distributed Information Systems Distributed System: A collection of autonomous computers linked by a network, with software to produce an

More information

Tecniche di Progettazione: Design Patterns

Tecniche di Progettazione: Design Patterns Tecniche di Progettazione: Design Patterns GoF: Memento Prototype Visitor 1 Design patterns, Laura Semini, Università di Pisa, Dipartimento di Informatica. Memento 2 Design patterns, Laura Semini, Università

More information

Cloud Computing Chapter 2

Cloud Computing Chapter 2 Cloud Computing Chapter 2 1/17/2012 Agenda Composability Infrastructure Platforms Virtual Appliances Communication Protocol Applications Connecting to Cloud Composability Applications build in the cloud

More information

Introduction to Distributed Systems. Fabienne Boyer, LIG,

Introduction to Distributed Systems. Fabienne Boyer, LIG, Introduction to Distributed Systems Fabienne Boyer, LIG, fabienne.boyer@imag.fr What is a distributed system? Set of software components Running in separate address spaces Communicating through a network

More information

Towards Integrating Java EE into ProtoCom

Towards Integrating Java EE into ProtoCom Towards Integrating Java EE into ProtoCom Daria Giacinto, Sebastian Lehrig University of Paderborn Zukunftsmeile 1 33102 Paderborn giacinto@mail.upb.de sebastian.lehrig@upb.de Abstract: A key concept of

More information

SPEM 2.0 description of the PASSI process

SPEM 2.0 description of the PASSI process Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni DRAFT SPEM 2.0 description of the PASSI process Massimo Cossentino, Valeria Seidita RT-ICAR- May 2009 Consiglio Nazionale

More information

Towards a Telecommunication Service Oriented Architecture

Towards a Telecommunication Service Oriented Architecture Towards a Telecommunication Service Oriented Architecture Paolo Falcarin Jian Yu Politecnico di Torino, Italy paolo.falcarin@polito.it, jian.yu@polito.it Abstract Web Services are often used for providing

More information

CS603: Distributed Systems

CS603: Distributed Systems CS603: Distributed Systems Lecture 2: Client-Server Architecture, RPC, Corba Cristina Nita-Rotaru Lecture 2/ Spring 2006 1 ATC Architecture NETWORK INFRASTRUCTURE DATABASE HOW WOULD YOU START BUILDING

More information

CapeConnect Three. Concepts

CapeConnect Three. Concepts CapeConnect Three Concepts CapeConnect Three Concepts (October 2001) Copyright 1999 2001 Cape Clear Software Ltd., including this documentation, all demonstrations, and all software. All rights reserved.

More information

FIPA-OS Feature Overview. Agent Technology Group Nortel Networks February 2000

FIPA-OS Feature Overview. Agent Technology Group Nortel Networks February 2000 FIPA-OS Feature Overview Agent Technology Group Nortel Networks February 2000 FIPA-OS - Aims FIPA-OS is a Open Source implementation of FIPA and is available for free. http://www.nort elnetworks.com/ fipa-os

More information

Tecniche di Progettazione: Design Patterns

Tecniche di Progettazione: Design Patterns Tecniche di Progettazione: Design Patterns GoF: Mediator Memento Prototype 1 Design patterns, Laura Semini, Università di Pisa, Dipartimento di Informatica. Mediator 2 Design patterns, Laura Semini, Università

More information

Middleware Design Framework for Mobile Computing

Middleware Design Framework for Mobile Computing ISSN: 2222-4254 IJES Middleware Design Framework for Mobile Computing Imran Sarwar Bajwa School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK i.s.bajwa@cs.bham.ac.uk Abstract.

More information