integrating drupal with software developers assistance (sda) team # 1: aditya macherla arun gupta...

25
Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instruc tor: Kwok-Bun Yue Mentor : Abbasi Dhilawala 1

Upload: norma-lynch

Post on 25-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Integrating Drupal with Software Developers Assistance (SDA)

Team # 1: Aditya MacherlaArun Gupta MahankaliShruti DamleTruyen Van LeVishakha Kadam

Instructor: Kwok-Bun YueMentor: Abbasi Dhilawala

1

Page 2: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 3: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Introduction

• What is Software Developers Assistance?• Engineering automation product that guides

engineers through their project specific standard, processes and procedures

3

Page 4: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Introduction

• What is Drupal?• Open source web content management

framework

4

Page 5: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Introduction

• What is the Project?• Integrating Drupal with SDA

5

Page 6: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 7: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Why we choose Drupal?

Still on the process of studying the feasibility of whether Drupal can replace LIFERAY?

SDA

7

Page 8: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 9: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 10: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 11: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

System ArchitectureTHIS

PROJECT

EXISTING SYSTEM

11

Page 12: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 13: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 14: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 15: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Challenges and Pros/cons of communication Techniques

• What is XMLRPC?

• What is PHP/Java Bridge?

15

Page 16: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Challenges and Pros/cons of communication Techniques

To choose between these two options we came up with some evaluation criteria

16

Page 17: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 18: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 19: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

XMLRPCServer.java

• XMLRPCServer.java contains following three methods: • XMLRPCServer • GetInitialProcessDetails • GetProcessDetails

19

Page 20: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 21: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Explanation: • Raw SVG (Scalable Vector Graphics)

files

High level block diagram

21

Page 22: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

• The complete SVG image

High level block diagram

22

Page 23: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 24: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

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

Page 25: Integrating Drupal with Software Developers Assistance (SDA) Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam Instructor:

Q&A

25