• Save
Upcoming SlideShare
Loading in...5




Smartsup is a system which tries to come up witha system connecting SugarCRM, JIRA issue tracking system and WSO2 document repository and portals to access them. ...

Smartsup is a system which tries to come up witha system connecting SugarCRM, JIRA issue tracking system and WSO2 document repository and portals to access them.
Dept of Comput. Sci. & Eng. University of Moratuwa



Total Views
Views on SlideShare
Embed Views



1 Embed 1

http://www.slashdocs.com 1


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • User-friendly interface should mainly cater for following requirementsPosting an issueCommunicating with support teamEnhance collaboration with customersWe are intending to use internet telephony and video conferencing to enhance collaboration with customersIncrease after sale service quality by means of high-availabilityIt is important to impress customers with the system’s high availability this will help to grab the market required for the organization
  • Each contract agreements between clients and the company are maintained in WSO2 repository. The contract has the information when the contract become operational and for how long.Customers of the company are classified under two groups; potential customers and qualified customers. Qualified customers has more privileges than potential customers. The system need to be triggered considering when a customers becoming a qualified customers from a potential customers.Customer profile must contain contact information. Other requirements of a client account areCapability to access information about his agreements with the companyIndicate the services granted by the systemCapability to search through the available patches for his systemMaintain details about the previously released patches for that customerSugar CRM maintains all the details about customers.
  • Client and also the employees can report about issues through JIRA system. When issue is raised the administrator assign a development team member to deal with that issues. Then the system should support online communication between the client and the development team member. Each issue has a priority level based on SLA. Issues having higher priority levels will be addressed first. Issues has time limits. Therefore every engineer that work for particular issue has to report the time spent he has spent.System maintains details about the released patches. Customers and engineers has the capability of searching the records of all the released patches.
  • Architecture is designed based on Top-down approachSUGAR CRM: A customer relationship management toolJIRA: An issue tracking systemWSO2 Doc Repo: The technical support sellers have a repository adapted from WSO2 Repo.LDAP Authentication FrameworkWritten in PHP. Authentication should be done via a LDAP serverSQL Server. SQL DB Is for custom data required by engineers or usersSmart Report Maker. Written in PHP. Provide attractive report generation. This is written in PHP. We chose a PHP Report maker because then Portals and Report maker both can reside in one place.Cost is $64.Generate Reports from a SQL Database
  • CRMReporting (How business perform), Marketing Sales, Collaboration, Support (Telephony service) all are included in a CRM system.Standardizing and automating such activities which has building customer lists, assign opportunity to sales representatives, handle customer support casesChallenges of CRMsPoor visibility into business performanceSales reps do not user current systemLack of teamworkLong response time to supportBest customer, avg customer same supportDocument managementPortals to interact (Huge amount of Information)
  • The modules which are outlined with a red borderare the ones of important to us, in order to connect the CRM to a different componentSUGAR CRM follows the MVC architectureModelViewControlGo2Group is a plugin for integration of JIRA in SUGAR CRM. It’s a freely available plugin.Data Sync: Keep comments, attachments, and other artifacts in sync across Atlassian JIRA and your CRM system.Many-to-One Linkage: Link multiple cases in salesforce.com to a single issue in Atlassian JIRA.Configurable Workflow: Your sales and support teams are using different workflows. Keep each process intact with customizable field mappings, flexible configuration.SUGAR CRM Report Generation Capability is very limitedThere is a separate SUGAR Module called ZuckerReportsintended for report generation, written in Java, PHP
  • The modules which are outlined with a red borderare the ones of important to us, in order to connect the JIRA to a different componentJIRA is written in Java. Therefore this needs to be setup in a Tomcat like server. JIRA mainly follows MVC architecture.Java Utility and Manager classes are the actual business logic of JIRAThere are 1000s of java classes which provides various functions.Users Opensymphony’sWebwork 1 to process user requestsJIRA Utility and Manager ClassesThis contain 100s of java business logic classesThis uses a relational DBMS (eg. MYSQL, Oracle)Quartz is a schedulerJelly is a scripting and templating language from Apache Jakarta ProjectJIRA ConceptsISSUE can be Software bug A project taskA helpdesk ticketA leave request formFeatures: Attach File/Screenshot, Create, Label, Scheduling, Tracking, E-mail Notification on state updatesA JIRA project is a collection of issues. Project has a name and a key (helps to create a key for each issue)a software development projecta marketing campaigna helpdesk systema leave request management systema website enhancement request systemA WORKFLOW represent statuses of an Issue. In a workflow there areStatesTransitions
  • We are assuming the custom document repository the organization has spans across several modules in the WSO2 Governance registry. Those modules are Webservice interface and the repository itself. And this can be directly accessed using WSO2 ESBTherefore the SUGAR CRM and the Portal can be easily connected to the custom document repository
  • Handler for SUGAR CRM DBIn order for user portal to be in sync with Sugar CRM DB, data from SUGAR CRM needs to be fetched. This handler takes care of that.Handler for Portal DBFetch/Store portal DB dataFor Access Control we can use TrustedBSD (a framework) it can be manually implemented
  • JIRA server has a tape drive. Therefore if needed JIRA issues can be archived and kept for long-term usage.DRC is used in case of a Disaster.When accessing the DRC, we use FCoE (Fibre Channel over Ethernet) due to the high-costs involved with pure Fiber Channel. FC enables faster communication. This causes to transfer data back and forth between the organizational servers and DRC servers quickly.And we also use free cloud storage to keep document copies. These cloud services provide reliable, highly available services which can be a huge comfort in keeping a llarge set of documents organized and easy to access.
  • How do we set boundaries between a potential client and a qualified client?The given business scenario not preciously mentioned about the permitted services granted to both client groups and whether there are any service limitations.What are the organization policies that will affect the system?Organization policies and standards they follow and how to ensure those policies within purposed system are not mentioned in the business scenario which directly affect the system architecture design.what are these various reports and what is the sourceSource can be a database or manually entered data. They have not specifically mentioned what source is usedThey have not provided specifications of the document repository they ownWe do not anything about the repository, other than it exists. Therefore it become quite annoying when designing the system. System should conform to the repository specification. Otherwise a major functionality (maintaining documents) is lost.What are the payment methodsManual payment scheme like cash, cheque and online payment schemes like credit cards are the major payment methods available in the business world. Given business scenario not contains any details about payment schemes which are using in the organization.
  • Organization provides development support only if the system architecture is designed by them (Quick Start)There are three type of services provided by the organization. When client ask for a development support from organization, we assume that the organization has been already design the architecture for the client’s requested system.Payments are done onlineAny payments done manually have to be recorded and entered manually into the system. System provides a secured payment gateway in user portal.Document repository web serviceWSO2 governance registry provides three types of service access interfaces; GUI based interface, Command line interface and Web service APIOur system document repository uses the web service API provided by WSO2 Governance Registry.
  • Having a SQL DB for PortalsMost of the data can be kept in the SUGAR CRM DB. But by keeping a Separate DB, it allows us to customize the DB to adapt to user and to generate user-desired reports. And since we have full access to data. Through SMART Report Maker it can generate nice rich reports.Go2Group SUGAR CRM Plugin for JIRAThis plugin is been used by 1000s of users in SUGAR CRM. And SUGAR CRM also recommends the plugin, in order to integrate JIRA. This plugin is made to handle differences between SUGAR & JIRA. Therefore it will show better performance than using a simple adapter.Cloud StorageWe intend to have a free cloud storage service to keep documents. It’s reliable and has a high-availability. Also in case of a disaster, we can easily transfer from cloud to our servers (There are free cloud storage services Adrive, Just Cloud)LDAP FrameworkWe intend to use the Zend LDAP Authentication framework for authentication purposes. It is much more convenient to use a LDAP authentication service which is near the server. It might put a small overhead of the cost to the overall cost. But it is important to have a authentication server for the organization to make the solution scalable.
  • JIRA Performance Testshttp://confluence.atlassian.com/display/JIRAKB/JIRA+Performance+Tuninghttp://www.schirmacher.de/display/JIRA/JIRA+Performance+Tests
  • Functionalities Quality Attributes are Orthogonal
  • Here in the general scenario, A client wants to learn about the system and get comfortable with its functionality. This can be in normal running mode or configuration mode. Response should be directing the user to necessary resources when needed. We can measure the response by how long user takes to complete a task, number of references made to the helps.In the concrete case user is trying to create a new project and report about issues
  • Source of StimulusClient request a new feature and developer produce.

Smartsup Presentation Transcript

  • 1. SMARTsup090011P – C.K. Adikarinayaka090085T – A.P.C.J. De Vas Gunawardhana090150N – K.M.T.V. Ganegedara090229P – S.S. Jayawardana090269L – M.H. Kumara090549V - W.M.T.B. Weerasekara
  • 2. Project Overview
  • 3. Project Vision Our vision is to design a support system for a technical support seller. The “SMARTsup” will ensure that clients will enjoy the true benefits of usability, collaboration with support team and availability.
  • 4. Goals & Objectives • Enhance customer attraction by providing very user-friendly interface • Enhance collaboration with customers • Improve quality of services which are outsourced by the company • Increase after sale service quality by means of high-availability • Improve the quality & get feed back of the products of the company by letting clients to report bugs, improvements and suggestions about a product • Enhance reusability making existing patches available to the required customers
  • 5. Functional Decomposition • Manage client contract agreement information – Clients shall be able to search through his/her contracts with the company • Maintain client information – Client’s contact details, his contracts with the system, patches obtained etc must be maintained within Sugar CRM – System must be capable of providing support accounts for every qualified client • Maintain employee profiles • Maintain product information – Clients shall be able to search and download available service packs
  • 6. Functional Decomposition • Support issue reporting process – Support the process of assigning a resource person to deal with the reported issue – Set priority levels for an issue – Maintain records on working time, spent on a particular issue by engineers and monitor time limits • Maintain records of released patches – Engineers and production clients shall be able to search previously released patches – Engineers shall be able to identify previous patches released to the same client
  • 7. Abstract Architecture LDAP Authentication Framework Payment Gateway SMART Report Maker SQL DB
  • 8. Insight to CRM…SugarCRM Rightnow BPMOnline Salesforce
  • 9. Architecture – SUGAR CRM Portal SUGAR UI S O SUGAR Modules JIRA A Field Level Access Control P A GO2GROUP Internet Zucker CRM Plugin Telephony Reports WSO2 P Repository I SUGAR DA SUGAR DB MYSQL, Oracle
  • 10. Architecture - JIRA SUGAR Portal CRM
  • 11. Architecture – WSO2 Document Repository WSO2 ESB Custom Document SUGAR Repository CRM PORTAL
  • 12. Architecture - Portals User Interface User Portal (Zend Framework) AUTHENTICATION CONTROL Handler for Handler for Handler for ACCESS LDAP SUGAR CRM DB Portal DB Online Payment Transaction Manager Portal DBEngineer’s Portal User Interface AUTHENTICATION (Zend Framework) CONTROL Handler for Handler for ACCESS LDAP SUGAR CRM DB Portal DB Transaction Manager CRM Portal DB DB
  • 13. Deployment View Organization
  • 14. Ambiguities • How do we set boundaries between a potential client and a qualified client? • What are the mechanisms they have setup to communicate with clients? • What are the organization policies that will affect the system? • Do the organization require to keep a hard copy of the agreements also? • What are these various reports generated and what is the source? • They have not provided specifications of the document repository they own • What are the payment methods • Disaster Recovery Management
  • 15. Assumptions • Organization provides development support only if the system architecture is designed by them (Quick Start) • Organization signs an initial client-agreements before starting a contract • Organization document repository access through the Web service interface provided by WSO2 document registry • Payments are done online
  • 16. Design Decisions • Having a SQL DB for Portals to maintain information outside the CRM • Go2Group SUGAR CRM Plugin for integration with JIRA • Cloud Storage for backing-up documents • Using a LDAP Framework for Authentication
  • 17. Why SUGAR CRM?SUGAR CRM Salesforce• Well-defined documentation • Well-defined documentation• Drag & Drop UI customization • Drag & Drop UI customization• Can create own integrations • Can create own integrations• API supports REST • API doesn’t support REST• Large base of supported • Number of plugins supported SUGAR plugins are limited• Lot of key sales features • Lacks of key sales features• Modifiability is enhanced • Restricted modifiability
  • 18. Why JIRA?JIRA FogBugz• Well-defined documentation • Well-defined documentation• Multiple Project support • Multiple Project support• Web-based system • Web-based system• Encryption & Authentication • Encryption & Authentication• Supports SLA • Does not support SLA• Indexed file searching support • No indexed file searching• Supports SOAP based • Does not support SOAP communication
  • 19. Non-Functional Requirements • Usability – How easily users can get things done? • Availability – Will the system crash during my operations? • Modifiability – How easy it is to add modules or change modules to the system? • Reliability – Can I trust the system?
  • 20. Quality Attribute Scenarios Usability General Concrete Source of External, Internal End User Stimulus Stimulus Wants to learn features; Get Wants to create a new comfortable project & report a issue Environment Normal/ Configuration Normal Artifacts System System Response System provides hyperlinks System guides the user to well structured user step by step. Separate documentation, online menu tabs provided for demo, Video tutorial where Projects & Issues it’s needed Response Number of operations per Mean Time taken to create Measure minute, error rate, Number a project & a issue. Errors of references to help done during the process document
  • 21. Quality Attribute Scenarios Availability General Concrete Source of External, Internal End User Stimulus Stimulus System crashes System crashes while calling to a support team member Environment Normal/ Degraded Normal/ Jitter in the video performance stream Artifacts System, Communication System, Communication channels Channel Response System should detect the Tries to reconnect the call, crash and send a crash asks for feedback on the report to necessary places session Response Crash time per month, Cost Time to reconnect the call, Measure of the operations performing Percentage of successful while crashing. calls per month
  • 22. Quality Attribute Scenarios Modifiability General Concrete Source of Client, Developer End User Stimulus Stimulus Add new feature Add Skype telephony service Environment Design time, Implementation Normal time Artifacts System, Processes, Code System, Code Response Adding the feature to the System provides an system without affecting interface to add the new normal business processes feature (plugin) to the CRM code base Response Number of processes Effort taken to create and Measure affected by the change integrate the feature, Number of errors occurred in the integrating the feature to the system
  • 23. Conclusion • Proposed overall architecture is discussed through the slides • SUGAR CRM, JIRA issue tracking system and WSO2 Document Repository are the main modules of the proposed system • We have discussed why we the chosen modules are better than other similar products in the market • Our main concerns for the system are Usability, Scalability, Availability & Modifiability • There can be trade-offs between Scalability and Availability