Develop a iOS Swift CRUD App with a REST backend

Apple has introduce a new programming language for Cocoa and Cocoa touch called Swift. The syntax of this new language is a lot more familiar to developers that work on languages such as Visual Basic, Scala and many more. This comes to a refresh language different than Objective-C which has a complex syntax that takes a high learning curve even for C++ or Java developers.

Swift is a modern programming language that maintains many features of Objective-C using a clearer syntax. The programming paradigms provided by Swift include Objective Oriented, Imperative and Functional Programming. For more details please check the iBook here.

Unfortunately for now you have to download and Install OSX 10.9.3 or later, and Xcode 6 Beta 5 from your developer account to be able to develop your app.

On this posts we will show you how to build an app that communicates with the REST Server develop on Node.js. We will also show you how to use Objective-C libraries using cocoa-pods. Continue reading

Cloud Computing Models

Cloud Computing

The term cloud computing is used for a new service model that allows a client to scale or decrease resources rapidly to an application, without the need of investing on new infrastructure.


On this post we present the architecture viewpoints, you need to understand when you are designing a product that will leverage cloud resources. This post is the second of four post series. You can read our introduction post here

A Software Architecture presents a blueprint that allow us to understand the system design, the functional and quality attributes[1]. Cloud computing architecture can be divided on two major viewpoints: 1)service models and 2)deployment models. The infrastructure architecture depends on the cloud computing providers. i.e. Google defines how there servers are design and deploy to support the cloud services. Continue reading

Developing a Node.js REST API on IBM Bluemix

On our latest series of post we develop a JEE application using IBM Bluemix.

For this post we are using Node.js SDK with the same CRUD services for a People Administrator API. In general you can use the same testing approaches we review on our post Testing a REST API just review and modify the URL you are using.

Node.js is a platform build on Chrome┬┤s JavaScript runtime. Its non-blocking event driven model allows it to be efficient. Also it allows easily to provide two-ways connections between client and server.

On this tutorialWhy The Hell Would I Use Node.js? A Case-by-Case Tutorial is presented in detail the advantages and disadvantages of using Node.js over other platforms.

We will divide the development on two posts, 1)Develop the base REST services and 2) Connect the services to the database. Continue reading

Testing a REST API

Testing tasks are fundamental on the software development process. These tasks goals are covering the different quality axes of each of the diverse artifacts developed. Unit testing, Load Testing, Integration testing are just some examples of the many types of possible test types. Each one has a different purpose, for instance unit testing allows us to ensure the code provides the expected result. Integration testing on the other hand allows to review that combining different units or components will provide the expected results.

For the purpose of this post we are doing test that allow us to ensure the REST services developed on Developing a CRUD REST API on IBM Bluemix are up, running correctly. Please be aware that the test are not to review the results are valid or not, just to review they are running and what is the time they take to respond. Continue reading

Developing a CRUD REST API on IBM Bluemix

On our last post Developing a JEE REST API on IBM Bluemix we show you how to create the base REST services for our CRUD application. On todays post we are adding a Database and a JPA connection for the services. On the next post we will show you how to test the system using Unit testing.

This post 1) we create the database connection, 2)prepare the JPA persistence unit, 3)Implement the code that connects the rest services to the storage, and finally 4)Review the app is working so we can test the REST services. Continue reading