Crispy = Communication per Remote Invocation for different kinds of Services via ProxYs
!crispy.jpg! It is a lightweight API to invoke web services (RMI, CORBA, WebService (SOAP), XML-RPC, EJB, Hessian, Burlap, REST, ...), how simple Java Object calls.
You can integrate Crispy in a Service Oriented Architecture (SOA) or in a Rich Client Platform (RCP).
| Name | Crispy |
|---|---|
| Version | 1.1.0 |
| Author(s) | Mario Linke |
| Home Page | http://crispy.sourceforge.net/ |
| Download Location | https://sourceforge.net/project/showfiles.php?group_id=140162 |
Description/Features
Crispy is a framework for client side communication with different kind of services.
To validate this framework, I have implemented a wrapper for the Jira SOAP and XML-RPC service.
Advantages:
- With Crispy you can invoke this different services with the same interface.
- All calls are simple Jave Object calls.
- The return value of XML-RPC are concrete (Jira) objects (com.atlassian.jira.rpc.soap.beans.RemoteProject), otherwise are it Vector or Hashtable.
- The Login-Token must never used. The token is only used in background and not to see for the user.
Example:
Properties config = new Properties();
config.put(Property.REMOTE_URL_AND_PORT, url);
...
// Create ServiceManager and Service instance:
// JiraServiceManager.SOAP_SERVICE or JiraServiceManager.XMLRPC_SERVICE
IServiceManager serviceManager = new JiraServiceManager(config, JiraServiceManager.XMLRPC_SERVICE);
JiraService jiraService = (JiraService) serviceManager.createService(JiraService.class);
// Login on the jira-server:
jiraService.login("user", "passwd"); // Invoke service-methods:
RemoteUser ru = jiraService.getUser("user");
System.out.println("User: " + ru.getName() + " " + ru.getFullname() + " " + ru.getEmail());
RemoteProject remoteProjects[] = jiraService.getProjects();
for (int i = 0; i < remoteProjects.length; i++) {
System.out.println(remoteProjects[i].getId() + " "
+ remoteProjects[i].getName() + " "
+ remoteProjects[i].getDescription() + " "
+ remoteProjects[i].getKey() + " "
+ remoteProjects[i].getLead() + " "
+ remoteProjects[i].getProjectUrl());
}
// After all calls you can logout:
jiraService.logout();
This is an effort to demonstrate, what you can do with Crispy.
