integrating drupal with software developers assistance (sda) team # 1: aditya macherla arun gupta...
TRANSCRIPT
Integrating Drupal with Software Developers Assistance (SDA)
Team # 1: Aditya MacherlaArun Gupta MahankaliShruti DamleTruyen Van LeVishakha Kadam
Instructor: Kwok-Bun YueMentor: Abbasi Dhilawala
1
Content
• Introduction• Limitations of SDA• Why we choose Drupal?• System Architecture• Challenges and Pros/cons of communication Technique• How we are achieving the goals• How we are going to implement XML-RPC• High level block diagram• Future work/ summary• Q&A
2
Introduction
• What is Software Developers Assistance?• Engineering automation product that guides
engineers through their project specific standard, processes and procedures
3
Introduction
• What is Drupal?• Open source web content management
framework
4
Introduction
• What is the Project?• Integrating Drupal with SDA
5
Limitations of existing system• Inter module communication
• Has complex and huge modules: intertwined, cannot be separated with Liferay 5.2.3 used by system
• Current system uses some of them e.g. out of 60 3-5 are used - consumes resources (memory, processor, hardware resources, software resources)
• Does not have boundaries between organizations • Passing parameters to multiple portlets• Session management• Very difficult to upgrade to the newer versions• Does not have clean URL
6
Why we choose Drupal?
Still on the process of studying the feasibility of whether Drupal can replace LIFERAY?
SDA
7
Why we choose Drupal?Technical motivations:
• Drupal can solve the above limitations of LIFERAY:
• Provide boundaries between organizations• Passing parameters to multiple portlets• Especially upgrade to new version
8
Why we choose Drupal?Technical issues:
• And more than that, Drupal fulfills other requirements of SDA that LIFERAY can not
• Support group (Organic group)• Time to start and build a module is pretty
quick• Support Java backend: standardize API -
XMLRPC • Very highly scalability and load balancing
support
9
Why we choose Drupal?Non - Technical motivation:
• Drupal become more popular (Top 3)• Big organizations/firms are using Drupal
• Whitehouse• US Department of Commerce• Continental Airline and United Airline Merger• Intel
• Tietronix customers (including NASA) are switching to Drupal
• Drupal – A free open source tools• Strong community including paid services
10
System ArchitectureTHIS
PROJECT
EXISTING SYSTEM
11
System Architecture
Provide an UI to interact with the system
Include logic to present data to the users
No business or data access logics
PHP/HTML/JS/CSS
SDA Presentation - Drupal
12
System Architecture
Provide an interface for Drupal to interact with SDA
Drupal plays XMLRPC client
SDA backend plays XMLRPC Server
Web Services – XMLRPC
SDA Communications - XMLRPC
13
Challenges and Pros/cons of communication Techniques
Challenges: • The current implementation uses
Liferay, which supports Java• Drupal is PHP based and thus its
integration with the backend Java business layer is a tricky part
• There are two ways to achieve that:• Web Services (XMLRPC)• PHP/Java Bridge
14
Challenges and Pros/cons of communication Techniques
• What is XMLRPC?
• What is PHP/Java Bridge?
15
Challenges and Pros/cons of communication Techniques
To choose between these two options we came up with some evaluation criteria
16
How we are achieving the goals
• Implement XMLRPC
• Build custom modules in Drupal to replace the modules in Liferay and act as XMLRPC client
• Build a custom class on top of SDA’s core modules and act as XMLRPC server
17
SDA Communication Module
• This module will act as a communication layer between back-end SDA and its presentation layer
• This module resides on top of SDA’s core java modules. This module contains a class called XMLRPCServer.java
SDA
18
XMLRPCServer.java
• XMLRPCServer.java contains following three methods: • XMLRPCServer • GetInitialProcessDetails • GetProcessDetails
19
High level block diagramInput
DBParentIDChildID
Input parameters/ arguments
OutputSDA View Drupal Module
SVG image1. Color: fill2. Links 3. Breadcrumb
SDA Backend
Communications Layer
Web services-XMLRPC
SVG file1. Entity2. Links to
other entity
20
Explanation: • Raw SVG (Scalable Vector Graphics)
files
High level block diagram
21
• The complete SVG image
High level block diagram
22
Future work/ summary• Analyze the possibility, pros and cons, and
personnel skills for integration of SDA with Drupal over the current open source CMS like Liferay
• Implement two SDA modules Lifecycle, My Worklist (J2EE based) in Drupal
• Write the publication paper• More inclined to industrial case study• Focus on issues like migration, integration, use
of multiple languages, and how to deal with legacy system
23
References• Tietronix website: www.tietronix.com • Drupal community: http://drupal.org • Drupal Developer: API
http://api.drupal.org • XMLRPC standard:
http://www.xmlrpc.com/ • W3C SVG Working Group:
http://www.w3.org/Graphics/SVG/ • www.google.com/images
24
Q&A
25