The hybrid cloud
Cloud Computing is both inspiring and confusing to many people. When you realize the efficiency and cost savings offered by the cloud, you get inspired but when you listen to the marketing folks, you get confused. The reason is pretty straightforward. The marketing folks on the public cloud side wants you to believe that it is a miracle pill set out to cure all the problems of IT and if you listen to the marketing folks on the private cloud side, they will want you to shudder at the very thought of public clouds. The reality is somewhere in between.
Public clouds taught the world some important lessons. IT need not be unnecessarily complex and it can be simple. IT need not walk like a tortoise but can run like a hare and still be successful. IT need not be an economic fair weather friend but can grow even in recession. However, public clouds are not yet ready for large scale enterprise adoption because there are still issues related to security, performance and human psychology. If the traditional IT security kept IT managers awake in the night, the cloud security makes them wet the bed. There are still some performance issues related to network, storage I/O, etc. in the public clouds. Last, but definitely not the least, enterprise IT folks are still finding it difficult to accept that the ground under them has moved and it is time is running out fast for them to adapt or perish in the aftermath of the big shift (By Krishnan Subramanian).
Right now, enterprises want elastic business services on top of the hybrid clouds that can increase the efficiency of the enterprises while saving them of money.
Hybrid cloud diagram
Technological advance of PRO-BIT PBRT4 technology
Development frameworks for software programming found in the market, cover our demand only to a certain point; for us this is not acceptable since we believe only a framework that covers all our needs can be efficient. Because of this we decided to create our own development frameworks. At its development we used the freely available technologies which represent the very edge of innovation and combined them into a functional framework that meets our demands. Here we have in mind particularly the new, improved procedure for a quick development of new products and upgrading of existing products by using pre-prepared basic components which are:
- Basic components of business applications we have formulated over the years that meet all the demands of our users (entry forms, tables, extracts, analyses, actions etc.);
- They contain all the required functionalities for performing a certain programme action (recording of data, updating, deleting, audit trail, calculation, complex analyses etc.);
- They enable development of applications in the “lego brick” system - developers require less knowledge about the actual technology, they only need to know the basic components their usage and compatibility;
- Uniform structure of developed applications;
- Uniform user experience:
- appearance, shape of the user interface;
- user interfaces;
- control buttons, button positions;
- quick keys.
- Uniform technical placement:
- module layout;
- uniform module and complete information system configuration.
- Less education;
- Smaller probability of mistakes due to different programming patterns.
Technological achievements and technical objectives
To list just a few essential technical characteristics of the PRO-BIT programme development framework:
- Regarding to the extent of web access to information, a part of the framework supports the realisation of certain simpler functionalities via the web browser. Primarily, applications still operate as independent smart clients; additionally, various service actions, such as client installation and update or execution of simple queries and entries, are accessible via web browser.
In order to speed up the development we used an existing programme code that we created for the desktop application. This way only the user interface is adapted, and other elements are re-used (business logic, reporting, analyses actions etc.). A great advantage is also that:
- Changes are made only once;
- Minimum programming work is required to create the Internet interfaces. With the current development technology development or programming of such interfaces means completely new projects based on new technology that requires re-writing the complete logic and requires double maintenance at a later stage.
- In the field of communication we ensure an acceptable operation of future applications that already are or will be developed within the new development framework on public communication networks of average capacities; that means:
- It is irrelevant whether communication is made within the protected LAN network or via an unprotected Internet connection;
- All computers can be located in one place or scattered around the world; everything is a matter of a simple communication setting;
- Framework settings enable a simple communication method and appropriate protection setting;
- A minimum quantity of data transferred and thus a small burdening of communication, appropriate for connections of poorer quality.
- Logical and physical level stratification is clear and transparent and is ensuring mutual independence and possibility of subsequent replacement of one or more levels with a better solution.
- Logical levels mean logic layout according to levels of execution:
- Data access;
- Business logic execution;
- User interface generation;
- Thin or fat client user interface.
- Physical levels = application layout in computers:
- Database - first server;
- Application server - second server;
- Remote clients - computers within the company or in remote locations.
Logical levels can all be placed in one computer or one in each computer. This depends on the configuration complexity. Framework’s advantage lies in the fact that it enables availability and flexibility, i.e. optional parcelling of logical levels into physical levels. With the framework we can thus provide any number of various clients (fat, thin), and the business logic can run independently on the application server that enables optimised function execution. It is recommended to keep database access as close as possible to the database server in order to further speed-up communication and queries execution on the database server.
Various logical levels are implemented using various technologies which are mutually independent so that a certain segment can be updated or replaced with a different technology. This enables us to constantly grow and adapt without affecting our framework users. In the development used and connect following technologies:
Logical architecture implementation
In variety of development frameworks the programmers had to specify beforehand in what architecture they would place the final application. If the architecture was changed that meant a new project and the existing, already developed projects were difficult to adapt. In the new development framework a decision is not required until the installation phase, and just an “average” software programmer, without programming knowledge, is able to do this. The new development framework enables the installation:
- On only one computer;
- Two-level installation: to local personal computer connected to the database server;
- Three-level installation: by using local personal computers, the application and database server.
The new generation development framework enables independence from the data storing and management system. Applications developed in this way not condition the use of only a certain type of database servers.
- New generation applications are much more responsive. With the implementation of intermediate data retention, late data uploading and asynchronised operation of certain functionalities the user experience is significantly improved even in poor infrastructures. This means:
- An increase in the speed of application operation;
- A possibility of simultaneous actions;
- An improved user notification;
- Immediate availability of critical information;
- A great increase in the reliability of long-term action execution (fire and forget).
Target environment of applications build with this new technology are very diverse computer configurations. Also a great advantage is that there is a possibility to simply place applications to independent computers or optional complex network. Namely, the goal is the optimal use of all computer capacities (from the local work station to servers), which means that the software has to be installed in several computers, be appropriately configured so that it uses hardware’s capacities and is then easy to manage, maintain and upgrade.
- Smart client installation, maintenance and upgrade system are based on web protocols and the use of a web browser. This mean the following advantages:
- Less administrative work;
- Immediate accessibility to version information, innovations etc.;
- Less technical interventions for local clients;
- Users will be able to install and update remote clients by themselves;
- Administrators control only the central installation, the rest is done automatically.
- Development framework includes logging and monitoring of the application solutions operation in order to ensure appropriate system management and direct communication with the client in the event of problems.
One of our main goals is to ensure that developers of end user application will no longer need to deal with technology details; instead, as many technical details as possible are already implemented in the framework. This simplifies the development model of the final developer of a software solution, and the framework itself offers implementation cases of the most often used business scenarios. This way everyone included in the development process is dealing only with content issues; that ensures a quicker delivery of products, better product testing, and more reliable and cheaper products.
PRO-BIT PBRT4 Degree of Innovation
- Such product combines all the advantages of the newest technologies; on the other hand, it is possible to use the framework without too much detail of the actual operation. Technologies are:
- Use of open source nHibernate for a transparent access to databases;
- Use of open source CSLA.NET for implementation of business logic level;
- Integration WCF in CSLA.NET for transport protocols;
- DeveExpress user interface controls.
- The new development framework combines the newest technologies from the field of computer applications in a meaningful whole; we thereby achieve:
- Unification of online and desktop programming in one whole;
- Advanced caching, lazyloading and asynchronised data upload functions that are not supported by older technologies;
- Monitoring high technology, its unification and integration in more advanced new generation programme frameworks;
- Development framework enables possible replacements or upgrade of certain technologies without burdening business application developers;
- Relieving business application developers of technology issues which means that:
- They are able to install new application to only one computer and simultaneously use the free database (example for a small company) or they are able to install the application to the complex periphery of a large company;
- Unlike other similar frameworks PBRT4 framework is flexible also with regard to the type of data storage - this can be performed by anyone from the actual database server providers, even those who are for free.
- Already existing technology can be used (bigger companies have previously chosen technologies, for example. Oracle administration because they are certified for a certain sever, others prefer MS SQL due to simplicity and reliability, others will be able to use other open source variants such as PostGreSQL etc. on their Linux and Unix devices.
- Free products can also be used (for example: MS SQL Express, My SQL …).
- Significantly lower costs of installation and replacement of the new system;
- Developers are able to develop applications on a higher technological level.
- Besides the above mentioned innovations, the new development framework has also other advantages in comparison to existing comparable frameworks:
- Application programmers are much less burdened with technical details:
- They are able to focus more on the actual content of programme functionalities developed on this framework;
- Another innovative highlight is also that development framework enables so-called application hosting. This means that the end user hires server space and processor power but he does not need server infrastructure. All he needs is the Internet; he obtains access from the software provider and installs a smart client on the local computer via a web browser - this way he can use the application.
The most important innovation is definitely the fact that the new programme framework supports all current and future architecture of business and other applications: SOA (Service Oriented Architecture), SaaS (Software as a Service), Software in the cloud etc.