Connect Java and Drupal

Platinum and gold sponsors

danithaca's picture
danithaca - Fri, 02/01/2008 - 1:01pm
Presenters: 
To be announced
Track: 
birds of a feather
Proceedings Have Been Posted: 
no
Session Description: 

SESSION OVERVIEW
Drupal is great, but it has certain limitations too. Some limitations can be easily noticed from the “search” module: it doesn’t have good performance, and you have to specify the number of nodes to be indexed during each cron cycle (due to PHP time-out), which is rather weired for beginners. Such limitations impose great technical barriers to develop other features that requires extensive computation such as recommender systems and complex business processes.

On the other hand, Java is good in terms of dealing with complex things. It has better performance (in general), and it has tons of tools and a large community. Then, why don’t we use Java to complement Drupal?

Considering all that, I propose to develop the “Drupal Java Connector”(DJC) component. Basically, it is a library of Java classes for Java developers. It will provide reusable Java functions such as connecting to the Drupal database, creating Java objects from database tables (node, user, etc.), generating statistics (total nodes#, etc), and much more. Based on the library, Java developers can build auxiliary “backend” applications (search engine, recommender systems, workflow apps, etc) that could expand the capacity of Drupal platform. Note that my proposal is NOT rebuild a Java implementation of Drupal; rather, it is to create a Java library that developers can build “backend” Java applications that complement Drupal.

Benefits:

  • It simplifies the development of Java-based search engines, recommender systems, and so on.
  • It will open the door to many business players.
  • It doesn’t affect the core structure of Drupal

I propose the format of the session to be a round-table discussion.

TRACK
Community and Core

AGENDA

  • Invited presenters will give a brief introduction, and propose a few ideas to be discussed
    • Why it is needed? A few examples: search engine, recommender system, network analysis, business workflow, portal integration, etc.
    • A simple framework proposal

  • Open to discussion:
    • Figure out the project name.
    • What features should be included in the Java library?
    • Which Java persistence technology should we use, Hibernate, EJB3, or POJO?
    • Should we do “read-write” or “read-only” to the Druapl database?
    • What are the class hierarchy (eg. DrupalObject=>Node=>ForumNode)?

GOALS

  • Draw attention from the community (explain why we think it is important).
  • Figure out the features list, the general design, and the development schedule.
  • Recruit volunteer developers and form a working team.

RESOURCES
To be added.

Average: 5 (1 vote)

Drupal-Java-Connector: A list of features

danithaca - Mon, 02/04/2008 - 11:44am
danithaca's picture
  • Basic database stuff:
    • Connect to database using the connection string stored in Drupal profile.
    • Connection pool management.
    • Database table prefix

  • Construct Java object from Drupal object: node_load, etc.
  • Dynamically map CCK objects to Java objects. It requires constructing Java classes at runtime. Hibernate might be able to do it though.


Hi,I’d like to help on

mtk - Fri, 03/28/2008 - 3:51am
mtk's picture

Hi,
I’d like to help on this project even coding if needed (Java or Drupal side).

I think this could open the door to many Java-Based applications that need a front-end solution or a CMS to hide behind…

I agree with danithaca on those basic aspects that need to be taken care of, but a thing to consider bi-directional conversation between Java & Drupal:
i.e A finalizaed Java Appliacation already has its own Object-Oriented Modeling, which will need to be built on the Drupal (with CCK).

http://www.smartmtk.com
http://www.ganpoohadov.com | http://www.ganmaayan.com | http://www.gangozalim.com
http://se.smartmtk.com | http://www.datecafe.co.il | http://www.israeltour.info


 
 

Count-Down to Drupalcon Boston 2008: Count Down, this shows until timer initializes or for non-js folks 2008-03-3T09:00:00 -5 %days% days + %hours%:%mins%:%secs%