integrating web services into pop-c++ objects

21
INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS Thanh-Nguyen Ngo Tuan-Anh Nguyen Tran Van Hoai

Upload: yered

Post on 24-Feb-2016

50 views

Category:

Documents


0 download

DESCRIPTION

INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS. Thanh-Nguyen Ngo Tuan-Anh Nguyen Tran Van Hoai. Outline. Introduction POP-C++ overview Implementation Experiments Conclusion Future works. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Thanh-Nguyen NgoTuan-Anh NguyenTran Van Hoai

Page 2: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

OutlineIntroductionPOP-C++ overviewImplementationExperimentsConclusionFuture works

2

Page 3: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

IntroductionGrid environment is a collection of resources

distributed on different locations, owned by different organizations and managed by different policies

Grid computing is the ability to combine resources powers to compute a large-scale problem

Grid programming languages have been adopted to ease users to develop Grid applications

3

Page 4: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

IntroductionGrid programming languages

MPICH-G, MPICH-G2, GATPOP-C++Based on TCP/IP connectionUse their proprietary protocols

4

Have problems when resources on grid are located at different virtual networks or

separated by firewalls

Page 5: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

IntroductionPOP-C++

parallel programming system for Gridextend the C++ programming languageparallel objects

5

Provide POP-C++ objects a mechanism to choose suitable protocol and message

encoding to overcome firewall and virtual network issues when communicating

Page 6: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

The previous POP-C++ approach

object

Grid middleware Grid resource

FirewallCreate object

Launch

User

XDR/Socket

Deliver to

6

Can not communicate with the remote object when using XDR/socket in the environment having firewall, virtual network

Page 7: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Extended POP-C++ approach

object

Grid middleware Grid resource

FirewallCreate object

Launch

User

HTTP

Deliver to

7

Using HTTP can bypass firewall or virtual network (through proxy server)

Page 8: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

8

Communication between POP-C++ objectscombox: determine protocolbuffer: determine encoding

interface

buffer

combox

add

objectcombox

buffer brokeradd

send

clientserver

Add combox HTTP & buffer SOAP

Page 9: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

9

Communication between POP-C++ objects

interface

buffer_soap

addobjectbroker

client server

buffersoap factory

combox factory combox_http

buffersoap factory

combox factory

buffer_soap

combox_http

buffer_xdr

combox_socket

add

netw

ork

envi

ronm

ent

bufferxdr factory

Page 10: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Communication between POP-C++ objectsInterface is created on local machine and broker,

object are created on remote machineBroker finds all protocols it supports and creates

corresponding comboxesEach combox asks its buffer factory to create its

default bufferBroker waits to listen all client requests on all

comboxes it has created

10

Page 11: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Communication between POP-C++ objectsInterface determines which protocol is used to

connect to server objectInterface creates combox corresponding to that

protocolCombox asks its buffer factory to create

corresponding bufferInterface uses these combox and buffer to

send/receive requests to/from broker

11

Page 12: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

TestingAct as Web Services

Both client and server are implemented in POP-C++Client is implemented in POP-C++ and server is

implemented in JavaClient is implemented in Java and server is

implemented in POP-C++

12

The extended POP-C++ is not only able to communicate to itself but also communicate

to other Web Services systems

Page 13: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

ExperimentsUse 2 machines running openSUSE 10.3 connected

to a LAN via fast ethernet (100Mb/s)The first machine: Intel(R) Core(TM)2 CPUs E8500

@ 3.16Gz and 1GB RAMThe second machine: Intel(R) Pentium(R) 4 CPU

2.80GHz and 512MB RAMIn the experiments, we analyze invocation time of

calling function adding an array of integer numbers by using SOCKET+XDR, HTTP+XDR and HTTP+SOAP

13

Page 14: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

14

1 2 4 8 16 32 64 128

256

512

1024

2048

4096

8192

0%10%20%30%40%50%60%70%80%90%

100%

Detailed time in using SOCKET/XDR

send dataencode/decode

Array size (INTEGER)

Tim

e (%

)

Sending data time will dominate encoding/decoding time when data is large enough

Page 15: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

15

Sending data time will dominate encoding/decoding time and sending HTTP header time when data is large enough

1 2 4 8 16 32 64 128

256

51210

2420

4840

9681

920%

10%20%30%40%50%60%70%80%90%

100%

Detailed time in using HTTP/XDR

send datasend HTTP headerencode/decode

Array size (INTEGER)

Tim

e (%

)

Page 16: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

16

Most of time is used for encoding and decoding when message size is large

1 2 4 8 16 32 64 128

256

51210

2420

4840

9681

920%

10%20%30%40%50%60%70%80%90%

100%

Detailed time in using HTTP/SOAP

send datasend HTTP headerencode/decode

Array size (INTEGER)

Tim

e (%

)

Page 17: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

17

HTTP/XDR vs. SOCKET/XDRHTTP/SOAP vs. others

1 2 4 8 16 32 64 128

256

512

1024

2048

4095

.999

9999

9999

8191

.999

9999

9999

06

1218

Invocation time

SOCKET/XDRHTTP/XDRHTTP/SOAP

Array size (INTEGER)

log(

Invo

catio

n tim

e(µs

))

Page 18: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

ConclusionExtend POP-C++ object to integrate protocol HTTP

and encoding SOAP into itBe able to communicate to Web Services systems

written by other languagesBe able to work in environments having firewall and

using proxy serverDo some experiments to see the performance of the

extended POP-C++ system

18

Page 19: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Future worksImprove performance when using HTTP+SOAPEnhance POP-C++ objects to support Grid Services

19

Page 20: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Questions???

20

Page 21: INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Thank you!!!

21