|By Hovhannes Avoyan||
|September 13, 2012 11:16 AM EDT||
This brief tutorial will enable web application developers to harness the power of cloud computing database, Xeround, with the best PHP MVC framework in town, CodeIgniter.
Xeround is an Israeli web startup, launched back in 2005. It specializes in cloud database software technologies, operating in the PaaS domain. Xeround is primarily known for its MySQL cloud database, which it provides with a seamless frontend application. Its unique selling point is the ability to easily scale MySQL application on multiple platforms like Amazon EC2 and Rackspace. Xeround is positioned well in the MySQL cloud database market. Xeround’s basic MySQL cloud database plan is free and pretty fast.
CodeIgniter on the other hand is an Open Source PHP MVC (Model View Controller) framework used to make high end and enterprise level web applications. The framework uses a popular MVC software design pattern, popular with most of the top web developers today. The high points of using CodeIgniter as your web application framework are massive, such as highly organized code, rapid application development and plethora of in built tools.
What will this tutorial teach you?
This tutorial aims to teach you to setup up a basic CodeIgniter application in conjunction with the Xeround cloud database, powered by Oracle’s MySQL.
What will this tutorial NOT teach you?
This tutorial will NOT teach you to use CodeIgniter, MySQL, Phpmyadmin, FTP, HTML, CSS, XAMPP or the web stack.
So in a nutshell?
It rather enables you to learn the processes involved in helping you setup your next web application using CodeIgniter with a Xeround backend.
What will you need?
- An Internet connection, preferably fast.
- A working installation of XAMPP. You can download one here.
Setting up CodeIgniter
With your XAMPP already installed and configured on your computer (Windows, Mac or Linux), you active it by following these steps.
- Launch XAMPP application by clicking on this icon on your desktop.
- Now, ensure the first two features on the control panel are active. In order to enable Apache and MySQL, just click the Start buttons beside them and their status-es should turn green. That’s it. You’re on localhost.
- Now, open up your favorite browser, preferably Google Chrome and type in the following text in the address bar: localhost. If that doesn’t work, type in 127.0.0.1. If everything went well previously, you should see something like this. (Obviously, if you have Linux or Windows, it will mention XAMPP for X OS).
Now, lets setup CodeIgniter. The first thing you should do is visiting Ellis Lab’s CodeIgniter page by click here. When on the home page, click on the download button on the right side. Now its time to unzip.
Once the compressed file is unzipped, name it anything you like. We have named it “CodeIgniterApp”. It is important to clean the folder of any junk, by deleting the license.txt and the user guide files. You wont need those.
To enable your CodeIgniter app to work on the localhost, which is a simulation of a website on a host, you need to copy it to your htdocs.
To do this, follow the directory structure to access your htdocs folder.
Now, just drag and drop the “CodeIgniterApp” folder into htdocs. To ensure everything went fine, open up your browser and type in localhost/CodeIgniterApp. If successful, you should see this page and probably celebrate.
At this point in time, the CodeIgniter has been successfully setup. However, it doesn’t require a database to function just to load up a simple dynamic Welcome page. As the objective of our tutorial is to use CodeIgniter with Xeround, let’s take a break from the CodeIgniter side of things and create an Account on Xeround.
Setting up Xeround
As mentioned before, Xeround offers cloud database services for MySQL that are highly scalable with top notch companies providing instances such as Amazon and Rackspace.
Note: This part of the tutorial will create a sample Xeround account. The username and password will not be disclosed.
- First things first. Visit http://xeround.com/ to access the Xeround site. The home page pretty much summarizes the things we have discussed so far, such as scalability, availability and simplicity.
- Using the navigation bar on top, click sign up. Alternatively, you can click here. Enter your details and in the ‘Expected DB Size’ field, select Less than 0.5 GB. This is well good enough for a starter.
- Now, check your email for the confirmation link that was sent to you. At this point in time, you don’t have to choose the password. That comes later when you click the confirmation link.
- Once you have set the password after clicking the confirmation link, you will be welcomed to the Xeround’s primary dashboard. This can be accessed at https://cloud.xeround.com as well.
- To create your new Cloud Database in minutes, follow these steps:
- Choose to create your database Instance.
- Choose the free 10 MB Xeround FREE plan. You get:
a) Shared Environment
b) High Availability Guaranteed
c) Throughput: up to 1MB/s
d) Connections: up to 5
- Now you will be asked to choose your Data Centre. We recommend Amazon EC2. It’s the best in the business right now. Highly reliable!
- The last step for creating your DB Instance asks you to fill in some crucial details. These may be the most important details of all. They are essential to get your web application up and running on a MySQL backend.
Here is a sample of what we’ve filled in for this tutorial account:
- Once every detail has been carefully filled in and stored in your memory, remember to do one last thing. Yes, you guessed it right. Click the big blue button that says Create.
- Once you have clicked Create, a dialog box will show up saying “DB Instance creation is in progress”. Just close. The DB Instance has been created by now.
- The DB Management Dashboard now looks something like this, as shown in the image below. Explaining all the features of the dashboard is beyond the scope of this tutorial.
- Now, click the link under external DNS Hostname and login to your Phpmyadmin. Once there, create yourself a database. We named ours ‘neil’. At this moment, just take note of your: Database name, user, pass and external DNS Hostname
Connecting Xeround with CodeIgniter
Now that we have our Xeround database setup, it is time to connect the database with CodeIgniter.
- Open the CodeIgniterApp folder that you placed earlier in the htdocs directory. Access the database.phpfile by following the directory structure: CodeIgniterApp/application/config/database.php
- Once you are in the file database.php, scroll down to line 51. Can you see the fields for hostname, username, password and database?
Currently, they are set to localhost but since we want Xeround, we would need to add the details in the blank spaces using the notes we took earlier. By the way, Xeround works on localhost and web!
So based on the tutorial account details, it looks like this once its filled:
$db['default']['hostname'] = instance26267.db.xeround.com:16438;
$db['default']['username'] = ‘user’;
$db['default']['password'] = ‘pass’;
$db['default']['database'] = ‘neil’;
Note: Although you do not have access to the tutorial Xeround account we created, you can still use these database instance details. However, we recommend you create your own. This is only for demonstration purposes.
Tip: In order to avoid lagging, it is better to disable persistent connections within your CodeIgniter application by editing line 57 of database.php. You simply have to set $db['default']['pconnect'] = FALSE; to false. This ensures that there are no lags, since there is a limit of 5 connections in the Xeround FREE plan.
Congratulations. You have successfully completed the essential portion of the tutorial. You have connected your Xeround Cloud Database with your CodeIgniter application. What’s next? Well, its time for some testing.
Testing your application
Lets create a sample table structure.
- Go to application/controllers/ and create a controller: tables.php.
- Add the following code and save it. The code is already supplied in the zip folder attached with this tutorial (namely CodeIgniterApp.zip).
So what this does is basically creates a Controller called Tables, loads the DBForge class of CodeIgniter (used to create tables) and creates a table called Test_Table. If returns messages on the success or failure.
- Run the tables’ controller by type in the following address in your favorite browser’s address bar: http://localhost/CodeIgniterApp/index.php/tables
- You should now see a message on your browser that says that the table “Test Table” has been created successfully. You can even confirm this by going back to your Phpmyadmin dashboard.
Now lets try adding some real world data into our table. To do that, we will create a small application that stores users’ first and last name. Since the scope of the tutorial is not to teach CodeIgniter or programming whatsoever, the files have been supplied to enable you to learn. The end result of the small application is shown below.
Oh by the way, don’t forget to turn on the following autoload.php options by going into CodeIgniterApp/application/config/autoload.php:
You can get the sample code used in this article hereShare Now:
We heard for many years how developing nations would be able to develop mobile-phone networks quickly, perhaps even leapfrog developed nations, because their lack of traditional, wired networks would not inhibit them from deploying the new technology. Now there is talk of history repeating itself with the Industrial Internet--a key aspect of the emerging Internet of Things. For example, Guo Ping, Deputy Chairman of the Board of Chinese electronics giant Huawei, said in a recent report from the World Economic Forum, "The Industrial Internet will afford emerging markets a unique opportunity ...
May. 5, 2015 05:00 PM EDT Reads: 688
Avnet, Inc. has announced that it ranked No. 4 on the InformationWeek Elite 100 – a list of the top business technology innovators in the U.S. Avnet was recognized for the development of an innovative cloud-based training system that serves as the foundation for Avnet Academy – the company’s education and training organization focused on technical training around top IT vendor technologies. The development of this system allowed Avnet to quickly expand its IT-related training capabilities around the world, while creating a new service that Avnet and its IT solution providers can offer to their...
May. 5, 2015 04:15 PM EDT Reads: 930
Ayla Networks, whose agile Internet of Things (IoT) platform makes it easy for manufacturers to deliver secure, connected products, today announced it has been included in the list of "Cool Vendors" in the Internet of Things report by Gartner, Inc. “Gartner knows how important it is that manufacturers of all kinds of products have the right IoT solution to help turn their products into connected ‘things,’” said David Friedman, CEO and co-founder of Ayla Networks. “The market for Ayla’s IoT platform has accelerated dramatically this year compared to last year. Today’s largest manufacturers ar...
May. 5, 2015 02:00 PM EDT Reads: 493
SYS-CON Events announced today that B2Cloud, a provider of enterprise resource planning software, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. B2cloud develops the software you need. They have the ideal tools to help you work with your clients. B2Cloud’s main solutions include AGIS – ERP, CLOHC, AGIS – Invoice, and IZUM
May. 5, 2015 12:00 PM EDT Reads: 4,485
The Internet of Things Maturity Model (IoTMM) is a qualitative method to gauge the growth and increasing impact of IoT capabilities in an IT environment from both a business and technology perspective. In his session at @ThingsExpo, Tony Shan will first scan the IoT landscape and investigate the major challenges and barriers. The key areas of consideration are identified to get started with IoT journey. He will then pinpoint the need of a tool for effective IoT adoption and implementation, which leads to IoTMM in which five maturity levels are defined: Advanced, Dynamic, Optimized, Primitive,...
May. 5, 2015 11:45 AM EDT Reads: 1,162
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY., and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. MangoApps provides private all-in-one social intranets allowing workers to securely collaborate from anywhere in the world and from any device. Social, mobile, and easy to use. MangoApps has been named a "Market Leader" by Ovum Research and a "Cool Vendor" by Gartner...
May. 5, 2015 11:00 AM EDT Reads: 4,402
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on Twitter at @MicroservicesE
May. 5, 2015 11:00 AM EDT Reads: 2,943
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch of Docker's initial release in March of 2013, interest was revved up several notches. Then late last...
May. 5, 2015 11:00 AM EDT Reads: 3,933
There is no doubt that Big Data is here and getting bigger every day. Building a Big Data infrastructure today is no easy task. There are an enormous number of choices for database engines and technologies. To make things even more challenging, requirements are getting more sophisticated, and the standard paradigm of supporting historical analytics queries is often just one facet of what is needed. As Big Data growth continues, organizations are demanding real-time access to data, allowing immediate and actionable interpretation of events as they happen. Another aspect concerns how to deliver ...
May. 5, 2015 11:00 AM EDT Reads: 5,804
WebRTC defines no default signaling protocol, causing fragmentation between WebRTC silos. SIP and XMPP provide possibilities, but come with considerable complexity and are not designed for use in a web environment. In his session at @ThingsExpo, Matthew Hodgson, technical co-founder of the Matrix.org, discussed how Matrix is a new non-profit Open Source Project that defines both a new HTTP-based standard for VoIP & IM signaling and provides reference implementations.
May. 5, 2015 10:45 AM EDT Reads: 4,413
So I guess we’ve officially entered a new era of lean and mean. I say this with the announcement of Ubuntu Snappy Core, “designed for lightweight cloud container hosts running Docker and for smart devices,” according to Canonical. “Snappy Ubuntu Core is the smallest Ubuntu available, designed for security and efficiency in devices or on the cloud.” This first version of Snappy Ubuntu Core features secure app containment and Docker 1.6 (1.5 in main release), is available on public clouds, and for ARM and x86 devices on several IoT boards. It’s a Trend! This announcement comes just as...
May. 5, 2015 10:45 AM EDT Reads: 2,253
The security devil is always in the details of the attack: the ones you've endured, the ones you prepare yourself to fend off, and the ones that, you fear, will catch you completely unaware and defenseless. The Internet of Things (IoT) is nothing if not an endless proliferation of details. It's the vision of a world in which continuous Internet connectivity and addressability is embedded into a growing range of human artifacts, into the natural world, and even into our smartphones, appliances, and physical persons. In the IoT vision, every new "thing" - sensor, actuator, data source, data con...
May. 5, 2015 10:30 AM EDT Reads: 5,432
The WebRTC Summit 2015 New York, to be held June 9-11, 2015, at the Javits Center in New York, NY, announces that its Call for Papers is open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 16th International Cloud Expo, @ThingsExpo, Big Data Expo, and DevOps Summit.
May. 5, 2015 10:15 AM EDT Reads: 3,180
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Raspberry Pi, BeagleBone, Spark and Intel Edison. You will also get an overview of cloud technologies s...
May. 5, 2015 10:00 AM EDT Reads: 3,952
The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
May. 5, 2015 10:00 AM EDT Reads: 5,595
Scott Jenson leads a project called The Physical Web within the Chrome team at Google. Project members are working to take the scalability and openness of the web and use it to talk to the exponentially exploding range of smart devices. Nearly every company today working on the IoT comes up with the same basic solution: use my server and you'll be fine. But if we really believe there will be trillions of these devices, that just can't scale. We need a system that is open a scalable and by using the URL as a basic building block, we open this up and get the same resilience that the web enjoys.
May. 5, 2015 09:45 AM EDT Reads: 5,962
SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
May. 5, 2015 09:45 AM EDT Reads: 3,460
In his session at WebRTC Summit, Peter Dunkley, Technical Director at Acision, will look at creating interactive communications via the web by adding messaging, file transfer, and group communication (group chat and audio/video conferencing) into the web experience. He will also discuss potential applications of this technology in areas including B2B, B2C, P2P, and gaming. Peter Dunkley is Technical Director at Acision. He graduated from The University of Edinburgh in 2000 with a BSc (Hons) in Computer Science. After graduation Peter worked on a PSTN switch developing signalling stacks for SS...
May. 5, 2015 09:39 AM EDT Reads: 524
It's time to put the "Thing" back in IoT. Whether it’s drones, robots, self-driving cars, ... There are multiple incredible examples of the power of IoT nowadays that are shadowed by announcements of yet another twist on statistics, databases, .... Sorry, I meant, Big Data(TM), tiered storage(TM), complex systems(TM), smart nations(TM), .... In his session at WebRTC Summit, Dr Alex Gouaillard, CTO and Co-Founder of Temasys, will discuss the concrete, cool, examples of IoT already happening today, and how mixing all those different sources of visual and audio input can make your life happier ...
May. 5, 2015 09:15 AM EDT Reads: 657
What exactly is a cognitive application? In her session at 16th Cloud Expo, Ashley Hathaway, Product Manager at IBM Watson, will look at the services being offered by the IBM Watson Developer Cloud and what that means for developers and Big Data. She'll explore how IBM Watson and its partnerships will continue to grow and help define what it means to be a cognitive service, as well as take a look at the offerings on Bluemix. She will also check out how Watson and the Alchemy API team up to offer disruptive APIs to developers.
May. 5, 2015 09:15 AM EDT Reads: 2,239