Integrating Drupal with Software Developers Assistance (SDA) Instructor: Kwok-Bun Yue Mentor: Team # 1: Abbasi Dhilawala Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam 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 Architecture THIS PROJECT EXISTING SYSTEM 11 System Architecture SDA Presentation - Drupal 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 12 System Architecture SDA Communications - XMLRPC Provide an interface for Drupal to interact with SDA Drupal plays XMLRPC client SDA backend plays XMLRPC Server Web Services – 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 diagram SVG file 1. Entity 2. Links to other entity SVG image Input SDA View Drupal Module Output 1. Color: fill 2. Links 3. Breadcrumb Input parameters/ arguments SDA Backend Communications Layer Web servicesXMLRPC DB ParentID ChildID 20 High level block diagram Explanation: • Raw SVG (Scalable Vector Graphics) files 21 High level block diagram • The complete SVG image 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