250 likes | 432 Views
Integrating Drupal with Software Developers Assistance (SDA). Instructor:. Kwok-Bun Yue. Mentor:. Abbasi Dhilawala. Team # 1:. Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam. Content. Introduction Limitations of SDA Why we choose Drupal ?
E N D
Integrating Drupal with Software Developers Assistance (SDA) Instructor: Kwok-Bun Yue Mentor: AbbasiDhilawala Team # 1: Aditya Macherla Arun Gupta Mahankali Shruti Damle Truyen Van Le Vishakha Kadam
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
Introduction • Whatis Software Developers Assistance? • Engineering automation product that guides engineers through their project specific standard, processes and procedures
Introduction • WhatisDrupal? • Open source web content management framework
Introduction • What is the Project? • IntegratingDrupalwith SDA
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
Why we choose Drupal? Still on the process of studying the feasibility of whether Drupal can replace LIFERAY? SDA
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
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
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
System Architecture THIS PROJECT EXISTING SYSTEM
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
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
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
Challenges and Pros/cons of communication Techniques • What is XMLRPC? • What is PHP/Java Bridge?
Challenges and Pros/cons of communication Techniques To choose between these two options we came up with some evaluation criteria
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
SDA 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
XMLRPCServer.java • XMLRPCServer.java contains following three methods: • XMLRPCServer • GetInitialProcessDetails • GetProcessDetails
SVG file • 1. Entity • 2. Links to other entity SVG image 1. Color: fill 2. Links 3. Breadcrumb SDA View Drupal Module Output Input Input parameters/ arguments SDA Backend Communications Layer Web services-XMLRPC DB ParentID ChildID High level block diagram
High level block diagram • Explanation: • Raw SVG (Scalable Vector Graphics) files
High level block diagram • The complete SVG image
Future work/ summary • Analyze the possibility, pros and cons, and personnel skills for integration of SDA withDrupal over the current open source CMS likeLiferay • Implementtwo SDA modules Lifecycle, MyWorklist (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 withlegacy system
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