Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JMS API, web-service client

 
Marcin Cinik
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

Does anyone know how to depict that my component uses JMS and JAX-WS API on component diagram ?
According to UML components have "required" interfaces which are depicted as half-round sockets, but JMS-API is comprised of many interfaces and I want to only show that component uses JMS API to send JMS message.

Another thing is generated JAX-WS web-service client. What interfaces does it realize ? How to depict its dependency on WSDL ?

JAX-WS 2.0 spec says:

4.1 javax.xml.ws.Service
Service is an abstraction that represents a WSDL service. A WSDL service is a collection of related
ports, each of which consists of a port type bound to a particular protocol and available at a particular
endpoint address.
 
Eduardo Mineo
Ranch Hand
Posts: 63
Java jQuery Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think this kind of information should be in deploy diagrams (the integration technologies). In component diagrams, I connected my components with 'uses' relationship only, as cade/sheil example. My components that consume jms/ws was described only with a uses relationship with external components in integration tiers, also as cade/sheil example.

Good luck

--eduardo
 
Marcin Cinik
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Eduardo,

For JMS I would just give "JMS API" as required interface (even though JMS API is not an interface).
When it comes to JAX-WS generated client I propose to have "javax.xml.ws.Service" as provided interface.

The deployment diagram should rather depict machines / application servers / protocols / DMZ / firewalls / load-balancers in my opinion.
 
Eduardo Mineo
Ranch Hand
Posts: 63
Java jQuery Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marcin Cinik wrote:Thanks Eduardo,

For JMS I would just give "JMS API" as required interface (even though JMS API is not an interface).
When it comes to JAX-WS generated client I propose to have "javax.xml.ws.Service" as provided interface.

The deployment diagram should rather depict machines / application servers / protocols / DMZ / firewalls / load-balancers in my opinion.


Well, is up to you to decide, but it seems to much detail for Component Diagram and I was punished because I explained too much in my diagram. I think you should point only the internal and external components, its tiers, and link them. In deploy, you explain how machines/servers/hosts/tiers communicate with each other, by http, https, jdbc, rmi, iiop, corba, jax-ws, jms, etc.
 
Sadanandam Kurapati
Ranch Hand
Posts: 78
Eclipse IDE Java Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my component diagram, I have added couple of nodes which represent the queues(remote and local) with a note attached with details. This way I depicted the communication between my MDB and external system using JMS. As Eduardo said, I just connected with 'uses' relationship in component diagram and defined the protocol level communications in deployment diagram(SMPT, SOAP, HTTP etc).

You can add a page to explain your design and you can document what are the technologies you are planning to use(JAX-WS, Struts MVC, JMS, etc) at different layers and design choices, etc. I would recommend to keep the diagrams as simple as possible.

Regards,
Sadanand Kurapati
 
Marcin Cinik
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Would you recommend to depict any interfaces for managers / dao on component or class diagram ?
I can see that Cade skips all interfaces.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic