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
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
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
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 DB
Engineer’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
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
Notes de l'éditeur
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.
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.