Java Doc for SOAPLinkProtocol.java in  » Science » Cougaar12_4 » org » cougaar » lib » web » axis » mts » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Science » Cougaar12_4 » org.cougaar.lib.web.axis.mts 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


org.cougaar.mts.base.LinkProtocol
   org.cougaar.mts.base.RPCLinkProtocol
      org.cougaar.lib.web.axis.mts.SOAPLinkProtocol

All known Subclasses:   org.cougaar.lib.web.axis.mts.SSLSOAPLinkProtocol,
SOAPLinkProtocol
public class SOAPLinkProtocol extends RPCLinkProtocol (Code)
This component is a SOAP-based LinkProtocol that uses the WebServicesService to receive messages and Axis Call s to send messages.

Load with:

 <component
 class='org.cougaar.lib.web.axis.mts.SOAPLinkProtocol'
 insertionpoint='Node.AgentManager.Agent.MessageTransport.Component'/>
 

The current code is only partially an "open-messaging" format, since the SOAP XML contains serialized Java Objects that are equivalent to the objects passed by the RMI-based LinkProtocol.

Performance is about 5x slower than RMI. In a two-node localhost "ping" test sending 2k messages back and forth as fast as possible, the time to send a message in milliseconds were: mean=15, stddev=14, min=9, max=122 as compared to RMI: mean= 3, stddev= 2, min=2, max= 54 This matches Axis performance metrics found in several research papers, e.g. Performance of Web Services.


Inner Class :protected class SOAPDestinationLink extends Link



Method Summary
protected  intcomputeCost(AttributedMessage message)
    
protected  DestinationLinkcreateDestinationLink(MessageAddress addr)
    
protected  voidfindOrMakeNodeServant()
     A local agent has registered in the MTS, so deploy our WSDD, advertise ourselves in the WP, and get ready to receive messages.
protected  StringgetPath()
    
protected  StringgetProtocol()
    
public  StringgetProtocolType()
    
public  voidload()
    
protected  voidreleaseNodeServant()
    
protected  voidremakeNodeServant()
     Handle IP address change.
public  voidunload()
     If we registered a WSDD, unregister here.
protected  BooleanusesEncryptedSocket()
    



Method Detail
computeCost
protected int computeCost(AttributedMessage message)(Code)
estimated cost for HTTP-based SOAP, which is simplyhard-coded to be more than the RMI & HTTP LinkProtocols.



createDestinationLink
protected DestinationLink createDestinationLink(MessageAddress addr)(Code)
outgoing link to the target address



findOrMakeNodeServant
protected void findOrMakeNodeServant()(Code)
A local agent has registered in the MTS, so deploy our WSDD, advertise ourselves in the WP, and get ready to receive messages.

If we've already registered then this is a no-op.

The one snag is that the node may register early on, before the WebServicesService is available, so we use a ServiceAvailabiltyListener in case the service isn't available yet.




getPath
protected String getPath()(Code)
servlet path



getProtocol
protected String getProtocol()(Code)
HTTP



getProtocolType
public String getProtocolType()(Code)
the naming service "AddressEntry" type



load
public void load()(Code)



releaseNodeServant
protected void releaseNodeServant()(Code)



remakeNodeServant
protected void remakeNodeServant()(Code)
Handle IP address change.

Servlets handle the new-address case automatically, so this is a no-op.




unload
public void unload()(Code)
If we registered a WSDD, unregister here.



usesEncryptedSocket
protected Boolean usesEncryptedSocket()(Code)
true of the socket is encrypted



Methods inherited from org.cougaar.mts.base.RPCLinkProtocol
public boolean addressKnown(MessageAddress address)(Code)(Java Doc)
abstract protected int computeCost(AttributedMessage message)(Code)(Java Doc)
abstract protected DestinationLink createDestinationLink(MessageAddress address)(Code)(Java Doc)
abstract protected void findOrMakeNodeServant()(Code)(Java Doc)
public DestinationLink getDestinationLink(MessageAddress address)(Code)(Java Doc)
abstract protected String getProtocolType()(Code)(Java Doc)
public Object getService(ServiceBroker sb, Object requestor, Class serviceClass)(Code)(Java Doc)
public void ipAddressChanged()(Code)(Java Doc)
protected boolean isServantAlive()(Code)(Java Doc)
public void load()(Code)(Java Doc)
final public void registerClient(MessageTransportClient client)(Code)(Java Doc)
abstract protected void releaseNodeServant()(Code)(Java Doc)
public void releaseService(ServiceBroker sb, Object requestor, Class serviceClass, Object service)(Code)(Java Doc)
abstract protected void remakeNodeServant()(Code)(Java Doc)
final public void reregisterClients()(Code)(Java Doc)
protected void setNodeURI(URI ref)(Code)(Java Doc)
final public void unregisterClient(MessageTransportClient client)(Code)(Java Doc)
abstract protected Boolean usesEncryptedSocket()(Code)(Java Doc)

Methods inherited from org.cougaar.mts.base.LinkProtocol
abstract public boolean addressKnown(MessageAddress address)(Code)(Java Doc)
public Object attachAspects(Object delegate, Class type)(Code)(Java Doc)
protected MessageDeliverer getDeliverer()(Code)(Java Doc)
abstract public DestinationLink getDestinationLink(MessageAddress destination)(Code)(Java Doc)
public Object getService(ServiceBroker sb, Object requestor, Class serviceClass)(Code)(Java Doc)
public void ipAddressChanged()(Code)(Java Doc)
public void load()(Code)(Java Doc)
abstract public void registerClient(MessageTransportClient client)(Code)(Java Doc)
public void releaseService(ServiceBroker sb, Object requestor, Class serviceClass, Object service)(Code)(Java Doc)
protected void super_load()(Code)(Java Doc)
abstract public void unregisterClient(MessageTransportClient client)(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.