When evaluating CIP Reporting the conversation and questions inevitably turn to details around what’s not inherently in the application, but rather what the application can be configured for to improve on processes and data collection in other aspects of their respective business. Because let’s face it, in today’s digital world, at least where data is concerned, you’re truly only limited by your imagination. Somehow, someway, there’s a software developer out there who can pull together a multitude of platforms to work in synchronicity, much to the delight of the customer. At least until that customer wants to connect yet another software platform to the melee.
Through this blog post I’m confident I can prove that not only does CIP Reporting have the right software tools for the job, but also the wisdom and skill to support a very successful deployment with rich integrations – both immediately and into the future. With that said I hope to achieve two goals here:
- To provide the reader with a brief description of integrations CIP Reporting currently has in production which are both unique and novel
- To provide the reader documentation from our API for reference now and ongoing
- The customer is a premier night club chain with close to a dozen venues spanning from New York to Las Vegas to Los Angeles and all the way Down Unda’ in Sydney.
- Using an ODBC connection CIP Reporting connects nightly to their Time-Card-Pro database and synchronize employee data and scheduling information.
- The customer is the largest global cruise line operator in World – In fact, you could probably guess as to who it is and you’d likely be right…
- CIP Reporting monitors an email inbox on a scheduled interval for all new email messages sent from their ships. Email is an extremely reliable source for data transfer when network connections are unreliable; making this a highly functional integration for satellite connections linked to ships. As reports are created aboard the ships they’re emailed to the corporate office and then subsequently delivered based on network availability. Upon delivery, CIP Reporting automatically extracts the report details from the email message and captures the data into our reporting engine.
- The customer is THE flagship research university in the State of New York with a student population exceeding 25,000
- CIP Reporting synchronizes student data daily on a schedule between PeopleSoft and CIP Reporting. PeopleSoft publishes the student data to our SFTP server on a private account with additional media to include photographs. Our integration engine the parses the student data daily and synchronizes with PeopleSoft.
- The customer is a large scale casino gaming operation with over 70,000+ square foot of gaming floor and better than 2000 slots and gaming tables
- Using CIP Reporting’s API we synchronize employee data and player tracking data on a daily interval. Additionally, our API dynamically synchronizes person records between departments in real time enabling up to the minute collaboration on investigations and reports.
- The customer is a leading international provider of transportation logistics, warehousing, and distribution services. (Trust me, if you drive a car, you’ve seen their trucks)
- CIP Reporting synchronizes all employee and driver data across multiple third party providers, making this data available for inclusion when authoring reports.
- CIP Reporting polls a third-party medical triage company for employee injuries. When data on an employee injury is received CIP Reporting starts a workflow chain which manages the injury from occurrence through any associated workers compensation, claims, and finally OSHA compliance.
- CIP Reporting interfaces with a third-party automated driver reporting system which manages driver safety and compliance information.
CIP Reporting API
API – Application Program Interface; A means to programatically extend and interface to CIP Reporting.
The CIP Reporting API is a RESTful web service. The acronym REST stands for Representational State Transfer. The REST architecture was developed by W3C Technical Architecture Group (TAG) in parallel with HTTP 1.1. The World Wide Web (WWW) itself represents the largest implementation of a system conforming to the REST architecture. Simply put, the CIP Reporting API follows exact standards as set forth by the World Wide Web Consortium (W3C); the most globally accepted technology standards to have ever existed.
Useful Technical References:
- http://www.w3.org – World Wide Web Consortium (W3C)
- http://www.w3.org/Protocols/
rfc2616/rfc2616.html – RFC2616 Hypertext Transfer Protocol HTTP/1.1 - http://en.wikipedia.org/wiki/
Representational_state_ transfer – Wikipedia – Representational State Transfer
Easier Reading from Industry Leaders:
- https://www.ibm.com/
developerworks/webservices/ library/ws-restful/ – RESTful Web Services: The Basics - http://www.oracle.com/
technetwork/articles/javase/ restful-142517.html – RESTful Web Services
RESTful Web Service Clients for Developers:
- https://jersey.java.net/ – RESTful Web Services in Java
- http://restsharp.org/ – Simple REST and HTTP API Client for .NET
- http://phphttpclient.com/ – Httpful : The REST Friendly PHP HTTP Client Library
OK Enough About Standards – The Intimate Details of the CIP Reporting API
Within the constraints of RESTful web services there is room for unique implementation details. The CIP Reporting API implements a variety of best practices observed by our engineering team over the years.
- The entire API is browsable with a standard web browser
- The entire API is self documenting
- The API is adaptive to the unique configuration of the reporting system
- The API is a hierarchical tree data structureThe API is versioned to ensure non-breaking changes to clients
- Nodes with children (lists) are structured with RSS compatibility
- Leaf nodes (single objects) have XSDs for data definition and validation
- The XSDs are adaptive to data and field changes
Non-Standards Compliant Considerations
If you have a pragmatic view of RESTful web services then this implementation suffers from two gross violations of those principles; ignoring the HTTP Accept header for both output formats and API versioning. The choice to control the output format with resource extensions and the API version by URI was deemed a better choice for a larger audience. Therefore, be aware that the Accept header is ignored by this API and you control your version and response types completely via the request URI.
Further Reading
Learning RESTful web services and strategies for consuming them is left as an exercise to the reader using the links provided above given the API is built on modern open standards. However, there is useful information about unique implementations within the CIP Reporting API which you can access using the built in help.
—
*Special thanks to Jason Riffel in the authoring of this piece. While his technical authoring is magnificent, my stylistic interpretation of his words are a necessity to keep the reader engaged. Or at least, that’s what I tell myself…
About Shane Yerkes
Shane is a creative, entrepreneurial-minded sales executive with a focus on start-up and growth based software companies. With a consistent track record of exceeding revenue targets, He attributes his success to a very simple business philosophy; Solve real business problems through the solution, never sell for what's not there. Google+