cancel
Showing results for 
Search instead for 
Did you mean: 

Packaging Alfresco as a JEE Deployment Bundle

bpcamac
Champ in-the-making
Champ in-the-making
I would like to package Alfresco into a JEE Deployment Bundle (e.g. an EAR file) so that it can be deployed and managed in a JEE environment like other services already found there.  To this end, I've tried to package one of the Sample SDK Projects (AlfrescoRemote) but have discovered this is the wrong approach because this project is infact a server which opens its own ports to listen on etc etc.  Ideally I'm looking to create a packaging of Alfresco which would simply be a library and respond simply to foundation API requests.

My question is, is this possible?  As a product it doesn't seem to be very modular, or perhaps I'm missing something.  I would have thought the product architecture would clearly delinate between the engine (library, whatever) and the server layer which offers those services via different protocols.  Perhaps Alfresco does have a modular architecture in this regard but I can't see it.  Any help/guidance in this area would be appreciated.

Thanks in advance.
Brenton
3 REPLIES 3

mrogers
Star Contributor
Star Contributor
The example you use starts both client and server together so is a little contrived.      In fact its demonstrating the flexibility of Alfresco in that it can be configured via spring to run from a command line without the J2EE machinery.   

Yes you are missing the fact that Alfresco is already packaged as a WAR file and this is how 99% of alfresco instances will run.  

Unfortunatly it's not possible to have an alfresco WAR without Alfresco Explorer.     There's two reasons for this one is that the primary means of communicating with alfresco are via http for which we need a web server anyway.   And the Engineering has not yet been done to turn Explorer off.     Yes alfresco is now overdue a refactoring into "components".   It started with the introduction of Share (A separate UI layer) in 3.0 and the introduction of "subsystems" in 3.2 and will continue.     There's a line called OSGi in the roadmap that will probably involve separating the dependencies between the various components of Alfresco.

bpcamac
Champ in-the-making
Champ in-the-making
Thanks for the quick reply.  It seems that the path I was attempting might need to be abandoned.

Ordinarily the WAR file deployment would be sufficient as it is a recognized deployment unit of JEE platforms.  Unfortunately in this particular deployment scenario that we have in mind the content to be saved/retrieved by Alfresco are large binary files.  Hence we wanted to avoid http requests containing these files as payload.  We had thought of introducing an Adapter in front of the Foundation API which act as the remote interface and receive save/retrieve requests but those requests would contain a URL to the binary file and not the file itself thus dramatically reducing the size of the http requests and improving performance.  The Adapter ofcourse would need to open the URL as a byte stream and read in the file contents before invoking the standard save() as a local (in-process) JVM call. 

Is it possible to deploy Alfresco without its regular http remote interface, which we intend to replace with our own (Adapter style)?

shivasai
Champ in-the-making
Champ in-the-making
hi could you please help me where to find code for editing URL so that can login from internet rather than from server. where should i change the port settings such that if we type a URl it will direct to the local host of server and map it, inorder for clients to login directly.