Altabel Group's Blog

Archive for August 2012

There is no doubt that 2012 will be another big year for BI and information management. In the article we`ve tried to gather what we suppose are the top BI trends for near future

Big Data → Need for Speed

The rise in volume (amount of data), velocity (speed of data) and variety (range of data) gives way to new architectures that no longer only collect and store but actually use data: on-demand or real-time BI architectures will replaces traditional datawarehouses. Successful business intelligence projects will need to consider Big Data as part of their data landscape for the value that it delivers. More and more organizations will look toward statistics and data mining to set strategic direction and gain greater insights to stay ahead of the pack.At the same time the BI user is expecting faster answers from their BI environment disregarding the fact that the size of data is increasing.

Shift from analytical BI to operational BI

Increased adoption of cloud and mobile BI encourage individuals to access their KPI dashboards (key performance indicators), more often. An operational dashboard works much like a car’s dashboard. As you drive, you monitor metrics that indicate the current performance of your vehicle and make adjustments accordingly. When the speed-limit changes, you check your speedometer and slow down, or when you see you are out of gas you pull over and fill-up. Likewise, an operational dashboard allows you to make tactical decisions based on current performance, whether it is chasing a red-hot lead or ordering an out-of-stock product.

Data democracy

Latest surveys showed that only 25% of employees in businesses that adopted BI had access to that tool. And that is not because they didn`t want to or didn`t need information, but because traditional BI tools have been too bulky and technical for that other 75% of employees to use.
As now organizations more and more are adopting cloud and mobile BI dashboards, this situation is likely to change. Business intelligence is heading towards simpler, more straightforward methods and tools..

Agile

An Agile approach can be used to incrementally remove operational costs and if deployed correctly, can return great benefits to any organization. Agile provides a streamlined framework for building business intelligence/data warehousing (BIDW) applications that regularly delivers faster results using just a quarter of the developer hours of a traditional waterfall approach.

It allows you to start a project after doing 20 per cent of the requirements and design that deliver 80 per cent of the project’s value. The remaining details are filled in once development is underway and everyone has a good look at what the challenges actually are.

BI going mobile

In a survey conducted by Gartner, it was found that by 2013 one-third of all BI usage will be on a mobile device, such as a smart-phone or tablet. BI users want to access their data anytime and anywhere. This puts a demand on both the backend of any BI solution (like datawarehouse appliances) but also on the frontend where information access and visualization must be possible.

BI going up to the Cloud

As Cloud computing continues to dominate the whole IT landscape, so BI also dominates in the Cloud . Throughout next few years adoption of cloud BI tools will be driven by a number of important factors. First, cloud-based solutions offer the advantage of being relatively simple and convenient to deploy. Second, cloud tools are more easily scalable to provide access to key performance indicators (KPIs) to everyone in your organization, no matter where they are or what device they are using. Lastly, continually improving security measures will put to rest any reservations businesses have with storing their sensitive data in the cloud.

We believe these above enumerated areas will grow over the next few years. Organizations will embrace the Agile approach, utilizing new tools and technologies to decrease delivery times and demonstrate substantial business value. As we put more data into the Cloud, big data will become standard. Data itself will be delivered to satisfy the desires of users, so access from mobile devices will dominate desk-based consumption. The businesses that embrace these new business intelligence trends, and take steps to change and adapt the way data is hosted, analyzed, utilized and delivered, will be the ones that grow and prosper in the near future.

And what are your predictions for the big business intelligence trends in the next few years? Do you agree/disagree with our predictions?

Kind regards,
Anna Kozik – Business Development Manager (LI page)
Anna.Kozik@altabel.com
Altabel Group – Professional Software Development

There is misconception about data mining and data warehousing. Both of them are related to business intelligence tools that are used for turning data into effective knowledge. Many IT professionals use them as synonyms with some differences between the tools. Although the goals of both are related, data mining and data warehousing use different methods and processes for achieving these goals.

Data mining software is one of analytical tools for analyzing data. It allows users to analyze data from many different dimensions or angles, categorize it, and summarize the relationships identified. Technically, data mining is the process of finding correlations or patterns among dozens of fields in large relational databases.
This tool is used by companies with a strong consumer focus – retail, financial, communication, and marketing organizations. This tool allows the companies to determine relationships among “internal” factors such as price, product positioning, or staff skills, and “external” factors such as economic indicators, competition, and customer demographics. That enables them to determine the impact on sales, customer satisfaction, and corporate profits. Also, it enables the companies to “drill down” into summary information to view detail transactional data.
Data warehousing describes the process of building decision, support systems and a knowledge-based applications architecture and environment that supports both everyday tactical decision making and long-term business strategizing. The Data Warehouse environment positions a business to utilize an enterprise-wide data store to link information from diverse sources and make the information accessible for a variety of user purposes, most notably, strategic analysis.

So the two application types are similar because they rely on historical data to drive profitability in the future. However, the methods the two employ are different, and require different skill sets of the analysts that analyze data. Unfortunately they both lack delivering a predictive model :)

Thank you for your attention!

Best regards,
Elvira Golyak
Altabel Group – Professional Software Development

When you say “cloud” somebody’s imagination draws a sky with dozens of funny-shaped airy clouds, IT folks’ mind will recall companies’ names like Microsoft, Google, Dropbox, Amazon. Indeed, cloud computing has contributed to the business world tremendously, still there is much skepticism around such kind of services, reliability and security of remote clouds. Naturally when you store all your data in the cloud you “shift” control over it and rely on a cloud provider – here your fears of data possibly to be lost, damaged, leaked or hacked, services and sites to be kicked offline, come on to the stage. Legally according to the agreement between you and provider the service provider would be responsible should any of the aforementioned occur, but at the end of the day the possible losses endured by the business resorting to the cloud are greater than the cloud service provider’s since such actions could result in the complete destruction of the business. So a decision of moving to the cloud is a serious one.

Interesting that more than a third (36%) named security a main issue holding back uptake for them. This concern is contradictory due to a number of factors:
Firstly, the whole point of cloud computing is that the applications and data being used are sitting on multiple servers at once in data centers located around the world. Thus attacking one part of the infrastructure becomes virtually a waste of time as redundancy will always ensure access to this data. It means attacking data or performance of a targeted company becomes almost “mission impossible”.
Secondly, it makes sense to view security matter from the perspective of the capabilities of the cloud computing systems versus ones of internal software systems. How high are chances that a large cloud provider won’t have far more resources to direct at security than the average enterprise? The infrastructure of cloud computing systems is comprised of machinery and technology on the cutting edge of technological advancements in addition to the far-advanced skills and knowledge of their workers – doubtful that this is accessible to an average business or computer user. Therefore, the business has a greater chance of loss handling the company data and software internally. As more and more organizations make the move into the cloud, it’s certain that safety and security measures only increase.

Experts say a more reasonable concern relates to resilience and outages, not data breach. Outages of Amazon or Microsoft are regularly reported. They can be caused by freak weather like for instance happened to Amazon Web Services resulting in such popular services as Instagram and Netflix being pushed offline for a number of hours. Instagram’s outage hit the headlines due to a short period of downtime, but what if smaller companies using cloud providers face their sites knocked offline – how high up their cloud provider’s list of priorities will it be to get it fixed? Well, in this case for web sites it’s of vital importance to be hosted with multiple cloud providers since this makes sites virtually almost unassailable experiencing close to zero downtime.

Worries about legal compliance are probably more justifiable. Under the Data Protection Act, organisations have to agree that personal data will not be moved outside a particular group of named European countries, but a cloud provider may be storing data in multiple jurisdictions. This problem isn’t insurmountable (personal data can be anonymised, for example), but it does make the decision to move to the cloud a more complex one.

To conclude, cloud computing service providers treat security, availability, privacy and legal compliance issues very seriously since this is the essence of their very business. СSPs mostly have better machinery, technology and skills and invest more in their further advancement than an average enterprise could afford itself. Loss or damage of any data by a cloud services provider or long downtime does not only implicate a possible demise or huge direct and indirect losses of the business to which the service was provided, but can be partially or completely fatal for the cloud computing service business and its reputation. Cloud services providers are legally implied with massive liability which is very incentive for them to preserve a high quality of their services and treat issues with due diligence.
Or don’t you agree? :)

Kind regards,
Helen Boyarchuk – Business Development Manager (LI page)
Helen.Boyarchuk@altabel.com | Skype ID: helen_boyarchuk
Altabel Group – Professional Software Development

A sacred controversy
It is considered that there are “eternal” questions to which there is no right answers. For example, what is better: Windows or Linux, Java or C #; Alien vs. Predator or Chuck Norris or Van Damm. One of these holivars is the selection best IDE for Java.
There are constant debates which of them has more plugins, hotkeys etc. There are so many differences that it is too difficult to choose which of them is more important…and the choice, as a rule, is a matter of taste. Still there are objective reasons why Intellij IDEA is defenetly better than Eclipse. Please notice that we are considering teo environments as Java IDE.

I’m not going to speak about a lot of small differences like the plugins, hotkeys, etc, but I`d like to explain only one, the most important difference. As a rule it is unknown neither to users of IDE, nor to users of Eclipse, because the first are used to it and don’t know that it could not exist in other IDE and the latter are used to living without it, and not even guess what life could be better. Moreover Eclipse users do not notice this difference when trying IDEA for fun, as used to work in their old manner.

The main thing that distinguishes IDEA – it understands the context. That is what employees of JetBrains mean when call it “intellectual» (intelligent). What does it mean? IDEA indexes all in your project, analyze everything in it and even builds a syntax tree. Due to this IDEA, at any time, wherever you put the cursor knows where you are and what can be done. This ability “to understand” the context is expressed in many ways. Here are just a few.

1) Debugging
To see some expression while debugging in Eclipse at first you must to identify the expression. And be sure that you select right, if you select the extra character by chance Eclipse does not understand. Press Ctrl + Shift + I and see what you get.
No needs to do it in IDEA. Just put the cursor in the desired location and press Alt + F8. IDEA will understand itself what expression you probably need and immediately open a dialog where you can edit the expression and immediately see its value.
It turns out that both IDE and Eclipse, in principle, allow you to do the same thing, but in IDEA is much easier and faster. It is a huge difference like heaven and earth. In this small window IDEA can make you autofilling, the syntax highlighting and everything etc.

2) Autofilling
Autofilling is what distinguishes any of the IDE from notepad. In this area of ” understanding of context” IDEA has a qualitative advantage. For example, we start writing a line of code, then we want to know what options we have and what may begin with certain letters (for instance “vi” or smth like that). What does the IDEA do? Doesn’t wait for any keystroke, it immediately realizes that the method assertElement wants to get the second parameter an object of class Condition, and this class is just a static variable of type Condition named visible. And offers the only option. What does Eclipse do? Alas, it doesn’t understand the context and doesn’t know that the cursor is on the site of the second parameter of the method assertElement. So when you press Ctrl Space, Eclipse shows stupidly all that begins with the letters «vi» in nature.

3) Refactoring
Professional programmers can be productive, using the refactorings for changing code that offers their IDE. All modern IDE, in principle, offer a very impressive set of refactorings, perhaps even most programmers don’t know and use all of them. But again notice that there are smart refactorings in IDEA. They realize what you want, and offer different options that are suitable for most situations.
For example, we have a method assertErrorMessageIsHidden:
public void assertErrorMessageIsHidden () {assertElement (By.id (“errorMessage”), Condition.visible);}
And we want to make sure that the string «errorMessage» came to the method as a parameter.

Let’s start with IDEA. Put the cursor anywhere on the line «errorMessage», press Ctrl + Alt + P (from «parameter»), and IDEA tells what expression we could make in the parameter. As soon as the expression «errorMessage» selected, IDEA suggests several possible names for this parameter. It takes into account the name of the method and type of the variable and value, and the names of these variables in other places, and those names that you has given such a variable before – except that your zodiac sign is ignored J

Well, let’s see what Eclipse offers.

Do not forget: select the expression «errorMessage» (always with quotation marks, otherwise the message will get a wild pharse «An expression must be select to activate this refactoring»), select Refactor «Introduce parameter» and get the same result . However, there are no options suggests a parameter name of, but thanks for that :)

- Outputs
If we’re talking about Java IDE, then IDEA steeper Eclipse and it is not just a matter of taste. IDEA is objectively better, quicker and easier to write and change the code, it suggests appropriate names, find the appropriate methods, it does not require just select the expression, but guesses what you want to do and want to call. IDEA anticipates and suggests.

- PS
Reservation: IDEA is better than Eclipse as Java IDE. If you consider them in some other capacity – such as the IDE for other languages ​​(C + +, Python, Scala), or as a platform for building Desktop-Application, Eclipse may win well.
In general, this follows from the definition. Eclipse has positioned itself as an abstract platform for building anything was (using append plug-ins), and IDEA is positioning itself as a “smart IDE for Java». So it is.
For the sake of interest I will try to include some aspects in which the Eclipse, possibly steeper than IDEA:
· Eclipse is beautiful. All this fuss about SWT and native controls worthed it.
· Eclipse looks like a solid well thought-out application with fonts and icons, while the IDEA at first glance looks like a laptop hack with icons and awkward interface.
· Support for the project structure is richer in Eclipse.
· There is a project consisting of modules, and the Eclipse is the workspace, consisting of projects, but they can also close / open, the grouping and hide in IDEA.
· It seems is it easier to write plug-ins in Eclipse.
· And after all, Eclipse is free.

I would like to know what do you think about it?

Thank you so much and you are welcome with your comments.

Best regards,
Elvira Golyak
Altabel Group – Professional Software Development

Content Management Systems, or simply said Drupal, Joomla, WordPress engines are one of the most widespread CMS among webmasters. If we take CMS Drupal and Joomla separately, both these engines have their ardent proponents, who state their engine is better. Nevertheless, this dispute can never end, until a definite web-project development objective is put and you have to make the right decision.

Comparing to Drupal the strong points of Joomla are easy installation and simpler interface. Thus, creating sites in Joomla it is easier to edit, add and publish the content. Also, Joomla has multilanguage components support and lots of various versions. Joomla functionality extends easily with the help of a big amount of free modules. Moreover, there isa huge number of visual themes in Joomla that allow you to pick the design needed and to get individuality for your site.

CMS Drupal is more difficult to install and to manage, has weaker support of free modules and fewer visual themes.At the same time, after installing all the necessary components and their proper configuration, Drupal site acquires powerful functionality with flexible settings that allow performing almost any task.
It is worth noting that Drupal engine is used in sites of such TV-channels as MTV, BBC and in the NASA site which is a big plus for the CMS.

Search systems are more friendly to Drupal sites than to Joomla ones which allows faster information indexing on such sites. With the help of Joomla you can manage only one site at a time, when with the help of Drupal it is possible to operate several web-sites simultaneously. Many Joomla modules have a commercial or nominally free purchase basis, while almost all Drupal modules are free.

CMS Drupal has a strong support of multimedia applications that allows its usage in creation of social networks or forums. Drupal contributes to more effective document management system, has clear users roles distribution and almost unlimited choice of module additions that can be used in your site functionality extension. Hence, when it comes to development of well-established sites with a number of functions, it is better to choose Drupal.

Speaking about personal web-sites or web-sites for a small business promotion that are not calculated for big traffic, the choice is Joomla. Webmasters, who lack technical peculiarities knowledge, will get a sense of Joomla with ease. Though in fight with Drupal, Joomla wins only in creating simple web-pages.

Drupal is dedicated mostly at experienced web-developers and allows creating unlimited number of categories and tags. Drupal has a possibility of creating several types of content with different peculiarities, for example, news, articles, notes etc. Every content type can be managed correspondingly.

A big Drupal minus is lack of commercial themes and templates. In this respect Joomla provides much wider choice. As for developers community, Drupal community is more dynamic and less business-oriented than Joomla one. Although when it comes to Drupal studying, installing and configuration, you will have to hack upon the support forum to find the right solution. Joomla, on the other hand, provides easy of use, training and settings.

Thus, the choice of Drupal or Joomla undoubtedly depends on the web-site type you’re planning to choose. Anyway, taking into consideration pros and cons of each variant, it is essential to choose the more effective solution.

I wonder, which CMS you give preference to and why. Tell me about pluses and minuses of your favorite CMS!

Kind regards,

Nadya Klim

Nadya Klim
Nadya.Klim@altabel.com
Business Development Manager
Altabel Group – Professional Software Development

Linux users have been mostly left out when trying to get in on the gaming action, but soon they’ll be able to be “Left 4 Dead 2″ instead. Recently Valve announced that it would bring its digital distribution service Steam to the Linux platform.
The company reportedly formed a new team last year to work on a full-featured version of the Steam client for Ubuntu 12.04, and the result is “Left 4 Dead 2,” a first-person action game developed by Valve and set in world overrun by zombies.
The so-called “Steam’d Penguins” project will see more titles ported to Linux, and this will allow developers to target gamers via the online service beyond just Windows and Mac. To date, Linux users have had to rely on Windows emulators such as Wine and often have been annoyed with bugs and compatibility problems along the way.
“Valve wants Steam to be on all platforms, and it is possible that Linux could see greater exploitation as a gaming platform,” Billy Pidgeon, a game industry analyst with M2 Research, told.

Steam’d Up With Open Source
Steam’s move to Linux will be done through Ubuntu, at least initially. The goal of the development team is to create a full-featured Steam client, and good progress has been made so far. However, no date has been set when gamers might actually get Steam’d up on Ubuntu and blast away the walking undead.
In addition to opening up the online service to open source gamers, this could help Steam get a bit more attention as well.
“Steam remains one of the best assets in the gaming space today that doesn’t get much attention due to the console cycles and the rise of social gaming,” P.J. McNealy, consultant at Digital World Research, consider. “However, it’s right in the thick of the emerging business models for gaming, and being available on Linux certainly can’t hurt.”

Battling Piracy
While gamers will get to battle those zombies in the first game for Steam on Ubuntu, the online service continues to do its job battling the digital pirates plaguing game publishers and developers.
The Steam service requires gamers to log in to the service to play a game, and this authenticates that the copy is tied to the specific user. This in turn makes it very difficult for pirates to copy and distribute the code.
“Steam has largely stopped piracy of games that are available on the service,” said Pidgeon. “This is especially true in the Asian markets, where piracy has been an ongoing concern.”
It was piracy concerns that led many game developers to move away from PC games to the video game consoles, but some game companies see opportunities in the PC market again, thanks to services such as Steam. Being on Linux could help attract that small, but very passionate market of gamers.
“It doesn’t cost too much to support it, so why not?” asked Pidgeon. “And as the consoles get long in the tooth, there could be more game development on the PC, which Steam could support.”

Linux Gaming Beyond Steam
Steam of course is not the only online service operating. While it is the leading service, some game publishers, including Activision and Electronic Arts, have created their own services that allow users to purchase, download and update games.
This has also helped reduce piracy of some hot-selling titles such as those in the “Call of Duty” and “Battlefield 3″ franchises.
But could Steam get developers powered up to look more closely at open source? Probably not.
“It is hard to say, but I don’t think there will be a huge effort to open source on the PC,” said Pidgeon. “It is going to take a lot more than Steam to get publishers on board with Linux.”

Kind Regards,
Lina Deveikyte
Altabel Group – Professional Software Development

It’s surprising that in our blog we have never written about Python frameworks and Python itself either. So, I’ve decided to help out the omission :)

When choosing a framework for site development you have many things to consider. If the criterion is a programming language, for Microsoft and C# followers the choice is clear – ASP.NET. Those who are in love with Ruby don’t have to think too much either – Ruby on Rails will be their choice. It’s much more complicated for Python, PHP and Java developers to make up their mind: the quantity of frameworks here is tremendous.

Firstly, I want to underline the pluses of Python frameworks in general:

  • Usage of Python language. I’m sure lots of programmers are pretty tired of praising Python. But to write a site on Python is really faster, cheaper and more pleasantly than on  other languages.
  • Wide choice. Frameworks abundance can be scaring only for beginners. A professional always welcomes the freedom of choice, as the chance to find what you really need only increases. Besides, choice entails competition, and healthy competition leads to quality improvement of every framework.
  • Rapid development. New frameworks emerge constantly, and their precursors either give their way to the younger ones, or continue their struggle for leadership: bugs are fixed, new features are implemented. It differentiates Python community from, Ruby community, for instance, which is represented mostly by Ruby on Rails. Due to the lack of new ideas we can see some standstill in Ruby on Rails development.
  • Opensource. They say using quality software on a legal and free basis is really cool :)

For now there are several dozens of Python frameworks. Among them are famous Django, Pylons, Turbogear, and some other interesting ones, as Zope, Twisted, CherryPy.

Today I want to make a short review of the more popular Python framework – Django.

Django was created specially for convenient news site development of The World Company. It had been developed since 2000, but to the general public it was presented only in the middle of 2005. The framework got its name after a Belgian jazz guitarist and composer Django Reinhardt.

Django site is built from one or several applications, which are recommended to be made alienable and interconnected (unlike Ruby on Rails, for example). One of the main Django advantage is excellent documentation, and, I suppose, the biggest community among all the Python frameworks.

When getting acquainted with Django, firstly, his built-in administrator interface wins over. It provides convenient work with the content of a written site. You should change the settings a little bit, then following the link http://127.0.0.1:8000/admin you can start the page through which it is easy to manage the content (for example, to look through the data base content and change it).

Django architecture is a bit different from classic MVC. Controller of the classic model MVC approximately corresponds the level, which is called “View” in Django. Presentation View logic is realized on the level of Templates. Due to this Django level architecture is frequently called “Model-Template-View” (MTV).

For models Django provides an abstraction level which frees from the necessity of writing SQL-requests for getting/saving data to the database. All the tables, that are used in the application, are written as classes in a separate file models.py. Then with the help of these classes methods there happens manipulation of the tables content in the code. Thus, work with database becomes fully object-oriented. Django supports work with the main databases (PostgreSQL, SQLite3, MySQL, Oracle).

Also, it is worth noting about a very flexible way of urls reflection on the application function – with the help of regular expressions.

While developing an application it is convenient to use built-in server. It automatically determines the changes in the files of the project source code and reboots. The result from changes made to the code immediately displays on a browser web-page, but it is not recommended to use it as a working one, as it is single-threaded and do not provide any security measures. For these purposes you will have to set a normal server (Apache, for example).

To be honest till the very end, I will enumerate Django disadvantages as well:

  • Though the template language is simple, still it is not very “pythonic”
  • Not very convenient work with AJAX
  • There can emerge some difficulties while replacing components (if you are in bad relations with regular expressions, which are used widely in urls reflection, you may want to use another dispatcher). It is widely believed that Django developers quite often invent bikes. Though Django allows doing this easily and quickly.

Although Django is one of the most popular Python frameworks, do not forget that framework is just an instrument; the choice should depend on the task set firstly, and only after that on its popularity.

Thank you for consideration. As usual, I would be happy to see your comments :)

Kind regards,

Nadya Klim

Nadya Klim
Nadya.Klim@altabel.com
Business Development Manager
Altabel Group – Professional Software Development

Tags: , , , ,

%d bloggers like this: