Stub vs. Skeleton

http://www.coderanch.com/t/443307/Web-Services/java/Stub-Skeleton


JavaRanch » Java Forums » Java » Web Services

Bookmark "Stub vs. Skeleton" Watch "Stub vs. Skeleton"New topic
Author

Stub vs. Skeleton

Ashraf Abu-Aisheh 
Ranch Hand 

Joined: Apr 17, 2009
Posts: 88 
Hi ranchers, 

Can anyone help me to understand the STUB and SKELETON definition, and differences between them, and what is the relation between stub/skeleton with the web services. 

As my brief knowledge with the web services, it is designed to support interoperable machine-to-machine interaction over a network with different programming language such as Java and C++, so it is not related with machine-to-machine interaction over a network with the same language like java to java. 

I am confused    

Please help.


SCJP 5 - 79% 
SCWCD 5 - 100%
Maneesh Godbole 
Saloon Keeper 

Joined: Jul 26, 2007
Posts: 10745 
    
    9

I like...
Android  Eclipse IDE  Google Web Toolkit  Java  Mac  Ubuntu
Please do take some efforts to choose a proper forum. 
http://faq.javaranch.com/java/CarefullyChooseOneForum 

Moving.


[How to ask questions] [Donate a pint, save a life!] [Onff-turn it on!]
Ashraf Abu-Aisheh 
Ranch Hand 

Joined: Apr 17, 2009
Posts: 88 
Stubs and Skeletons 
RMI uses a standard mechanism (employed in RPC systems) for communicating with remote objects: stubs and skeletons. A stub for a remote object acts as a client's local representative or proxy for the remote object. The caller invokes a method on the local stub which is responsible for carrying out the method call on the remote object. In RMI, a stub for a remote object implements the same set of remote interfaces that a remote object implements. 

When a stub's method is invoked, it does the following: 

1) 
initiates a connection with the remote JVM containing the remote object, 
2) marshals (writes and transmits) the parameters to the remote JVM, 
3) waits for the result of the method invocation, 
4) unmarshals (reads) the return value or exception returned, and 
5) returns the value to the caller. 

The stub hides the serialization of parameters and the network-level communication in order to present a simple invocation mechanism to the caller. 

In the remote JVM, each remote object may have a corresponding skeleton (in Java 2 platform-only environments, skeletons are not required). 

The skeleton is responsible for dispatching the call to the actual remote object implementation. 

When a skeleton receives an incoming method invocation it does the following: 

1) 
unmarshals (reads) the parameters for the remote method, 
2) invokes the method on the actual remote object implementation, and 
3) marshals (writes and transmits) the result (return value or exception) to the caller. 

In the Java 2 SDK, Standard Edition, v1.2 an additional stub protocol was introduced that eliminates the need for skeletons in Java 2 platform-only environments. Instead, generic code is used to carry out the duties performed by skeletons in JDK1.1. Stubs and skeletons are generated by the rmic compiler. 

Reference: 
http://java.sun.com/j2se/1.5.0/docs/guide/rmi/spec/rmi-arch2.html
Jimmy Clark 
Ranch Hand 

Joined: Apr 16, 2008
Posts: 2187 
A client SOAP Engine contains the stubs objects. The server SOAP Engine contians the skeleton objects. 

1. When a client business object makes a web service call, at a lowever-level the stub object communicates with the skeleton on the server. 

2. The web service code on the server connects to the other application. 

3. The other application executes some process or function. 

4. The other application returns some value to the web service code on the server. 

5. The skelton on the sever sends value to stub object from client. 

6. The stub object on client returns value to client business object. 

7. The End
 
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
 
subject: Stub vs. Skeleton
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值