cancel
Showing results for 
Search instead for 
Did you mean: 

Creation of a Alfresco Webservice for Enterprise System

rv_a_sharma
Champ in-the-making
Champ in-the-making
Hello All,

I am totally unaware of development capabilities on Alfresco.
I am looking to implement a web service in Java the interface is given to me in a WSDL file . This WSDL will be later on used provide a Enterprise System the information from Alfresco systems.

Questions :
1. What is the development web server that we should use for this ?
2. What is the development IDE usually used.
3. I have to provide the information of the Schema of Alfresco in this webservice how to go about it ?

Regards,
Ravi
16 REPLIES 16

openpj
Elite Collaborator
Elite Collaborator
1. If you would like to use Web Services to invoke Alfresco methods to get or store contents you don't need to implement a web service client in Java.
You can download Alfresco Web Service Client (jar), include it in your Java application classpath and you can invoke methods directly from it.
You can download Alfresco Web Service Client here:
http://wiki.alfresco.com/wiki/Labs_3_Final_download_files

Here you can see all the Web Services methods and services exposed in Alfresco:
http://wiki.alfresco.com/wiki/Alfresco_Content_Management_Web_Services


3. If you want to implement your own web service client you can download WSDL for each Alfresco service here:
http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD/root/projects/remote-api/source/wsd...

Hope this helps.

rv_a_sharma
Champ in-the-making
Champ in-the-making
Hello,

Thanks for your post.

There is a little difference in understanding here. We already have a Client which is an Enterprise System. Which can accept data coming in from any of system. It expects us to provide a webservice based integration with the Alfresco.

This webservice interface which it exposes is available in the form of WSDL file. This webservice should be implemented by from Alfresco end. This is called the webservice based connector integration. So we have to write a connector from Alfresco end.

Now we have a Alfresco running on Tomcat 6.0 . I understand when we import the webservice WSDL, the Eclipse / any other IDE will give us the skeleton Java Bean which will implement the interface. And we have to provide the implementation from Alfresco end using Alfresco API's.

Kindly suggest what should we do in this regard.

Regards,
Ravi Sharma

mrogers
Star Contributor
Star Contributor
Yours is an unusual requirement, what you would normally do is for your enterprise system to call one of Alfresco's remote interfaces rather than putting your own web service interface into alfresco.

However you can do what you are asking and need to become familiar with Web Service development tools.

You have a choice of putting your web service into the alfresco WAR in which case you will have to use the same runtime as alfresco or having a remote process that adapts your enterprise interface to one (or more) of alfresco's remote APIs.

What you should do is generate an implementation of the web service expected by your Enterprise system.  You do this in Java, .Net, or by hand whatever you are comfortable with.   I've used Visual Studio and Rational Software Architect to do this in the past but grew to dislike web services  because of the clunky tooling Smiley Sad

Your web service will then need to delegate to alfresco's methods over one of Alfresco's API's.   You will need to analyse your requirements and work out the mappings between your interface and Alfresco's.

rv_a_sharma
Champ in-the-making
Champ in-the-making
Hello,
Thanks again for your inputs.

It's nice to know that Technically the solution which I thought is possible.

Now the next doubt is Alfresco Running on Tomcat 6.0 ? Will it be able to support a EJB Bean (which will be implementing the WSDL interface) ?

Another doubt is related to configuration of the Webservice . We don't want to re autenticate the Webservice Access to the Alfresco . Some how the Alfresco should be configured to accept the incoming request to this Webservice as a Pre authenticated one.

Kindly Suggest what should be done in this case ?

Regards,
Ravi Sharma

mrogers
Star Contributor
Star Contributor
No Tomcat will not run EJBs.   To do that you would need to run Alfresco on an Application Server that supports the EJB specification such as JBOSS, WebSphere or WebLogic.

You will have to pass your authentication details through your web service,  alfresco will support many enterprise SSO solutions it rather depends on your infrastructure, but this will probably be tricky and time consuming.

rv_a_sharma
Champ in-the-making
Champ in-the-making
Hello,

Thats what my understanding was . But I got to know that the Alfresco runs Spring Beans ?
What is Spring Beans ? Can it also run the Java Beans ? This Tomcat 6.0 ?

We have to do an external LDAP mapping . Can Alfresco accept X.509 certificates ?
We are going to use SAP Enterprise system for this integration.
Not just Alfresco but Clearspace will also be integrated with SAP ES

Regards,
Ravi Sharma

openpj
Elite Collaborator
Elite Collaborator
Alfresco is based on Spring Framework to manage all resources.
Spring is used to wire resources (Spring Beans).
A Spring Bean is a singleton that will be instantiated by Spring.
Spring is an implementation of Inversion-Of-Control pattern (IoC).

I suggest you to read Spring Reference manual for more info:
http://www.springsource.org/documentation

Spring has many sub-frameworks to manage other Enterprise aspects.

Alfresco can be integrated with LDAP and SSL:
http://wiki.alfresco.com/wiki/Ldap_over_SSL

Hope this helps.

rv_a_sharma
Champ in-the-making
Champ in-the-making
Hello all,

I am currently looking to find out the Metadata about the document storage in Alfresco.

My ultimate Aim is to integrate the Alfresco with Enterprise System and make all the files in Alfresco downloadable from the Enterprise Search System. So that it can download all the files stored in alfresco and form a Centralized content indexing.

It can be done in 2 steps using the Webservices.
1. Get the details of the Alfresco Metadata ( document storage information required from Alfresco)
2. Get the details of the Actual Files. ( it will be stored in the metadata model defined in step 1)

In order to implement the first step I need to find out how the alfresco stores the document, its properties, autorization details , document URL's etc ?

Any help in this regard will be greatly appriciated.
Regards,
Ravi Sharma

openpj
Elite Collaborator
Elite Collaborator
You can see the wiki to know more about Alfresco Web Services:
http://wiki.alfresco.com/wiki/Web_Services_Reference_Documentation

If you want to query a content with its own metadata (as parameters) via Web Services, you must use Repository Service and you must use a Lucene query to get this content from repository.

The steps to follow for Alfresco Web Services interface are:

1. Authentication (openSession);
2. Lucene Query;
3. Iteration on results;
4. Authentication (closeSession).

Hope this helps.