jhernandez

In-House Data RESTful Ready! 

Blog Post created by jhernandez on Aug 7, 2015

Like many other system gurus at BbWorld 2015, we were perplexed with the advent of Ultra and the new technological challenges ahead!

 

Last year was actually the shock of our lives during BbWorld 2014. The new interface threw us the biggest curb-ball with a revamp of Blackboard Ultra's prototype. The hype grew even more before we went to D.C. where we suddenly felt our plans and high hopes crash and roll down to the National Harbor river, needless to say Ultra remains a prototype. The new interface would force us, a self-hosted and self-governed environment, to have a few regrets for the recent purchase of our big infrastructure. Now a few days after the conference we must start making plans for the new SaaS/RESTful technology.

 

Although Blackboard promises to complete Ultra in the upcoming months or perhaps years, we at FSU are getting acquainted with the new terminologies. It is my duty to diligently do my homework. Since AngularJS seems to be the preferred JavaScript by Blackboard to control the interface, I started tinkering with bootstrap and some service calls.

 

My research brought me to the Open Source RESTful server called DreamFactory. I wanted to figure out how could I use setup enrollment records and present them to our developers for quicker access. If JAVA development will somehow diminish on our side, I wanted to see if our team could start making API calls via other technologies, such as Python, and AngularJS.

 

DreamFactory (DF and Apache2 dependent), open source available for downloads or in the cloud, was the biggest hit for me. The straight-forward interface convinced me that we could attach our enrollment records DB and easily setup RESTful services with required credentials. Since most of our data resides within the internal network, integrating the DB to DF was flawless and in a matter of minutes we had API docs available for REST calls. I really liked that DF has connectivity for Oracle, MS-SQL, MySQL, PostgreSQL, No-SQL, and other connections.

 

Here is the interface looks like where I setup DB connections and turn them into services. Note: this screen shows the default services that come with DF.

Once a service has been setup, the API Docs is the area where we can see the contents of 'db' table listing:

 

 

By selecting a GET for table names, the RESTful service is described:

 

 

Are we done with RESTful setup and do we have a portal ready for our developers? Well, almost. The quick setup has been done but now it is time to decide who will have access via Keys called app_name. DF already comes with some builtin apps for JQuery, AngularJS, and Sencha. Such apps can be re-engineered to make them work for our processes.

 

The biggest question I kept asking myself, do I have to be proficient in AngularJS or JAVA to build and manage a RESTful server? The answer is NOT necessarily. The important part of not knowing anything about a technology is to have the desire to master it. Here is where I find myself, posting about how little I knew yet how much I could learn. I am not proficient in programming but I know where and how to look for solutions.

 

DF has provided us the path to saved hours on development on a RESTful server and possibly has given us the option of integrating our future REST calls to SaaS Ultra.

 

In the coming days and weeks I plan to post my findings on this revolutionary product. DreamFactory is built in PHP, that could be a deal breaker for some institutions and for us we are eager to stress test it with our biggest 180K enrollment transactions.

 

Feel free to reach out. I strongly believe that if you create an account with DreamFactory before you choose to install it at your institution, it would be your playground for ideas. As far as I know, caching is very important for transactions that may tax the DreamFactory server which can be integrated with Redis.

 

Thank you,

 

Julian Hernandez

Sr. Systems & Application Administrator

Florida State University

Outcomes