how to integrate itsm software by service-flow
Post on 20-Nov-2014
1.670 Views
Preview:
DESCRIPTION
TRANSCRIPT
How to Integrate ITSM Software
Kai Virkki, Chief Architect
2014 © Service-Flow Corp.
ITSM integration challenges Different ways to integrate Service-Flow Lessons learned
Agenda
Processes– Probably different at both ends– How to connect at the interface?– There might be more than 2 parties
Customer and n vendors is typical
Integration challenges: process
Vendor
Customer
Simple example process
End user creates
new ticket
Create new ticket
Transfer to support group:
Vendor 1
Create new ticket Assign ticket
Update ticket information:
Status: Assigned
Handle ticketResolve
ticket: Status: Resolved
Update ticket information:
Status
Update ticket information:
Worklog
Update ticket info: Status:
Solved
End
End
?? ?? ?? ??
ITSM data:– How to transfer?– How to route?– How to map?– How to transform?
What tools to use? ITSM software integration interfaces not very well
documented or standardized How to connect ITSM software that is usually located
inside corporate network, protected by firewalls etc?
Integration challenges: technology
Point-to-point
Hub-and-spoke
Different integration styles
Different integration technologies
FTPFTP
SOAP
REST
Database
<XML/> {JSON}
Email File Transfer (FTP) Web services
Let’s go through the most common ones…
Email Integration
Customer ITSM Software Vendor ITSM Software
Customer’s Mail server
Vendor’s Mail server
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
From: servicedesk@example.comTo: support@vendor.comSubject: [Ticket #INC-1234] Printer broken
Body:”Customer: jorma@ankkalinna.fiDescription: My local printer”
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
Many ITSM systems can transform tickets to mail out-of-the-box
From: servicedesk@example.comTo: support@vendor.comSubject: [Ticket #INC-1234] Printer broken
Body:”Customer: jorma@ankkalinna.fiDescription: My local printer”
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
TICKETID: TN-987Title: Printer brokenCustomer: Example.comWorklog:”Customer: jorma@ankkalinna.fiDescription: My local printer”…
Many ITSM systems can transform tickets to mail out-of-the-box
Many ITSM systems can create tickets from mail out-of-the-box
File Transfer (FTP)
Customer ITSM Software Vendor ITSM Software
Vendor’s FTP server
FTP
<incident> <ID> INC-1234 </ID> <Subject> Printer broken </Subject> <Description> My local printer <Description> <Category>12</Category> <Status>Untouched</Status> <Customer>jorma@ankkalinna.fi</Customer> ..</incident>
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
TICKETID: TN-987Title: Printer brokenDescription: My local printerCustomer: jormaState: NewCategory 1: AMS ServicesCategory 2: ……
1. Generate some text presentation of the Incident
2. Write (XML) file to FTP server
1. Read (XML) file from FTP server
2. Transform customer format to vendor format
3. Translate data
Web services
Customer ITSM Software Vendor ITSM SoftwareAPIAPI
ITSM vendor proprietary web services APIs Most reasonably modern software offer some form of an API
– For inserting, updating and querying tickets
Web services
P2P Web services
Customer ITSM Software Vendor ITSM SoftwareAPIAPI
1.1: Send ticket data to insert
1.2: Reply with ID (success)
n.1: Send ticket data to update
n.2: Reply with success
Can things be this easy?
From: servicedesk@example.comTo: support@vendor.comSubject: [Ticket #INC-1234] Printer broken
Body:”Customer: jorma@ankkalinna.fiDescription: My local printerCategory: 12Status: Untouched”
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
TICKETID: TN-987Title: Printer brokenDescription: My local printerCategory: ASMState: AssignedCustomer: jormaCustomer ID: INC-1234…
How about getting something from the mail body?
From: servicedesk@example.comTo: support@vendor.comSubject: [Ticket #INC-1234] Printer broken
Body:”Customer: jorma@ankkalinna.fiDescription: My local printerCategory: 12Status: Untouched”
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
TICKETID: TN-987Title: Printer brokenDescription: My local printerCategory: ASMState: AssignedCustomer: jormaCustomer ID: INC-1234…
Or translating category/status?
From: servicedesk@example.comTo: support@vendor.comSubject: [Ticket #INC-1234] Printer broken
Body:”Customer: jorma@ankkalinna.fiDescription: My local printerCategory: 12”
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
TICKETID: TN-987Title: Printer brokenDescription: My local printerCategory: ASMState: AssignedCustomer: jormaCustomer ID: INC-1234…
Or getting the customer incident ID?
From: support@vendor.comTo: servicedesk@example.comSubject: #TN-987# Printer broken
Body:”Customer: jormaDescription: My local printerCategory: ASM…”
INCIDENTID: INC-1234Subject: Printer brokenDescription: My local printerCategory: 12Status: UntouchedCustomer: jorma@ankkalinna.fiCreation Time:……
TICKETID: TN-987Title: Printer brokenDescription: My local printerCategory: ASMState: AssignedCustomer: jormaCustomer ID: INC-1234…
What if vendor cannot add our ID to subject in correct format? How then target the correct incident?
Do the ITSM tools offer the functionality to send/receive ticket to/from FTP?– Most of them don’t
Do the ITSM tools offer the functionality to transfer to recipient format?– Most of them don’t
FTP
Who is responsible of the FTP server? Did transfer to the other system succeed? How are files kept in correct temporal order? Who removes files when they have been read?
FTP
Do the ITSM tools offer functionality to send ticket data to other systems?– Many of them don’t
Do the ITSM tools offer functionality to transform to recipient format?– Most of them don’t
Do the ITSM tools offer functionality to handle the response?– Most of them don’t
Web services
What then?
Enterprise Service Bus (ESB) to the rescue!
ESB
Customer ITSM Software Vendor ITSM SoftwareAPIAPI ESB
ESB
Customer ITSM Software Vendor ITSM SoftwareAPIAPI ESB
ESB:• Queries or receives tickets from
customer ITSM system• Transforms to vendor format• Sends to vendor using the vendor
ITSM software API• Handles resends in case of
connections failures etc.• Handles errors
Who owns the ESB, customer or vendor? Integrations need to be implemented to ESB, they don’t magically
happen– Adapters to ITSM tool APIs– Transformations– Translations– Retries and error-handling
Who understands the ESB logs when there are errors?
ESB
Industry best-practice: ESB to every Enterprise!
Customer ITSM Software Vendor ITSM SoftwareAPIAPI ESB ESB
Software X Software Y
Industry best-practice: ESB to every Enterprise!
Customer ITSM Software Vendor ITSM SoftwareAPIAPI ESB ESB
Now we have 3 integrations to build!• Customer ITSM software – ESB• ESB – ESB• Vendor ITSM software - ESB
Who builds the integrations?Who supports them?
How about this?
Customer ITSM Software Vendor ITSM SoftwareAPIAPI
Global Service Bus / Message Broker
Take the great ideas of ESB and take them out of the enterprise to the internet and offer as a service
ITSM Software has APIs, leverage them– Ready-made adapters
Robust queuing for highly-available and reliable integrations
Customers and vendors don’t need to manage integration platforms and integrations
Global Service Bus /
Message Broker?
Not an integration platform, but a ready-to-use service for ITSM integrations
Secure, scalable, reliable and highly available message brokering
Offered as an SaaS from the cloud Customers can concentrate on their ITSM tools and
processes
Service-Flow
Route messages (tickets creates/updates) between parties with routing rules
Routing rules selected based on message sender and contents
Map between the parties– Different mapping types and formatters
Service-Flow: Broker
Conversation example
The service is operated by the devops team No maintenance windows:
– Upgrades done live– Usually once per week, but could be multiple times per day
Measured availability for individual service components during last year at least 99,99%– Less than 53 minutes downtime per year
Service-Flow: Operations
All network communications between ITSM tools encrypted (SSL, 256bit).
Deployed into a cloud Platform-as-a-Service (PaaS) that runs on top of the Amazon cloud in the EU.
Amazon cloud is very secure and has certifications to prove it:– SAS70 Type II, ISO 27001, PCI DSS Level 1 etc.
Service-Flow: Security
Service-Flow Architecture
SaaS Provider Z
Secure Cloud Infrastructure
Service-FlowCustomer X
Network
ITSM Tool X
Customer Y Network
ITSM Tool Y
ITSM Tool Z
SSL
SSL
SSL
Web Browser
HTTPS
Adapter X
Adapter Z
Adapter Y
User Interface
Broker
Example integration flow
S-F
Serv
ice-F
low
arc
hit
ectu
re
Service-Flow
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
Efecte Adapter
ServiceNow Adapter
1: Create ticket
Service-Flow architecture
Service-Flow
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
Efecte Adapter
ServiceNow Adapter
2: Send Efecte ticket XML to Service-Flow
Service-Flow architecture
Service-Flow
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
Efecte Adapter
ServiceNow Adapter
3: Transform to Service-Flow internal format
Service-Flow
ServiceNow Adapter
Efecte Adapter
Service-Flow architecture
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
4: Select recipient, map and transform data, keep track of the ticket conversation
Service-Flow architecture
Service-Flow
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
Efecte Adapter
ServiceNow Adapter
5: Transform to ServiceNow web services format and send to ServiceNow
Service-Flow architecture
Service-Flow
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
Efecte Adapter
ServiceNow Adapter
6: Insert to correct table, e.g. incident
Service-Flow architecture
Service-Flow
Vendor Y
Customer X
Efecte ITSM Suite
ServiceNow
Web API
Direct Web Services
Service-Flow
Efecte Adapter
ServiceNow Adapter
Processes from different organizations can be hard to map together– Good partners are needed to help with this– KISS-principle (Keep It Simple, Silly!)
Lessons learned
Most ITSM software isn’t built with integrations in mind– Those who design integration interfaces don’t always have
experience writing integrations– File attachments are the Achilles’ heel of many integration interfaces– Integrating can be technically challenging, but once it’s done, it can
be reused as an adapter
Lessons learned
It might take a long time to get network access to an ITSM software inside corporate network– There aren’t any great solutions to this, but organizations starting to use
SaaS ITSM tools helps– Involve security and network people early in the project
Lessons learned
Many organizations are suspicious about cloud services– Cloud providers have to take security very seriously and get applicable
certifications and audits to prove their trustworthiness– How much can organizations really trust on their own people and internal
security?– Fact of life: When doing B2B integrations, there has to be some places,
where data flows outside company internal networks.
Lessons learned
top related