Monday, 12 August 2013

Cloud Computing vs Grid Computing: Similarities and Differences between Cloud Computing and Grid Computing

Cloud Computing vs Grid Computing: Similarities and Differences between Cloud Computing and Grid Computing

In this article on cloud computing "Cloud Computing vs Grid Computing", we will discuss cloud computing service types and the similarities and differences between cloud and grid computing. We look at why cloud computing may be advantageous over grid computing, what issues to consider in both, and some security concerns. We use Amazon Web Services as an example.

To get cloud computing to work, you need three things: thin clients (or clients with a thick-thin switch), grid computing, and utility computing. Grid computing links disparate computers to form one large infrastructure, harnessing unused resources. Utility computing is paying for what you use on shared servers like you pay for a public utility (such as electricity, gas, and so on).

With grid computing, you can provision computing resources as a utility that can be turned on or off. Cloud computing goes one step further with on-demand resource provisioning. This eliminates over-provisioning when used with utility pricing. It also removes the need to over-provision in order to meet the demands of millions of users.

Infrastructure as a Service and more

A consumer can get service from a full computer infrastructure through the Internet. This type of service is called Infrastructure as a Service (IaaS). Internet-based services such as storage and databases are part of the IaaS. Other types of services on the Internet are Platform as a Service (PaaS) and Software as a Service (SaaS). PaaS offers full or partial application development that users can access, while SaaS provides a complete turnkey application, such as Enterprise Resource Management through the Internet.

To get an idea of how Infrastructure as a Service (IaaS) is used in real life, consider The New York Times that processed terabytes of archival data using hundreds of Amazon's EC2 instances within 36 hours. If The New York Times had not used EC2, it would have taken it days or months to process the data.

The IaaS divides into two types of usage: public and private. Amazon EC2 uses public server pools in the infrastructure cloud. A more private cloud service uses groups of public or private server pools from an internal corporate data center. You can use both types to develop software within the environment of the corporate data center, and, with EC2, temporarily extend resources at low cost—say for testing purposes. The mix may provide a faster way of developing applications and services with shorter development and testing cycles.

Amazon Web services

With EC2, customers create their own Amazon Machine Images (AMIs) containing an operating system, applications, and data, and they control how many instances of each AMI run at any given time. Customers pay for the instance-hours (and bandwidth) they use, adding computing resources at peak times and removing them when they are no longer needed. The EC2, Simple Storage Service (S3), and other Amazon offerings scale up to deliver services over the Internet in massive capacities to millions of users.

Amazon provides five different types of servers ranging from simple-core x86 servers to eight-core x86_64 servers. You do not have to know which servers are in use to deliver service instances. You can place the instances in different geographical locations or availability zones. Amazon allows elastic IP addresses that can be dynamically allocated to instances.

Cloud computing

With cloud computing, companies can scale up to massive capacities in an instant without having to invest in new infrastructure, train new personnel, or license new software. Cloud computing is of particular benefit to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large companies who wish to get peak load capacity without incurring the higher cost of building larger data centers internally. In both instances, service consumers use what they need on the Internet and pay only for what they use.

The service consumer no longer has to be at a PC, use an application from the PC, or purchase a specific version that's configured for smartphones, PDAs, and other devices. The consumer does not own the infrastructure, software, or platform in the cloud. He has lower upfront costs, capital expenses, and operating expenses. He does not care about how servers and networks are maintained in the cloud. The consumer can access multiple servers anywhere on the globe without knowing which ones and where they are located.

Grid computing

Cloud computing evolves from grid computing and provides on-demand resource provisioning. Grid computing may or may not be in the cloud depending on what type of users are using it. If the users are systems administrators and integrators, they care how things are maintained in the cloud. They upgrade, install, and virtualize servers and applications. If the users are consumers, they do not care how things are run in the system.

Grid computing requires the use of software that can divide and farm out pieces of a program as one large system image to several thousand computers. One concern about grid is that if one piece of the software on a node fails, other pieces of the software on other nodes may fail. This is alleviated if that component has a failover component on another node, but problems can still arise if components rely on other pieces of software to accomplish one or more grid computing tasks. Large system images and associated hardware to operate and maintain them can contribute to large capital and operating expenses.

Similarities and Differences between Cloud Computing and Grid Computing

Cloud computing and grid computing are scalable. Scalability is accomplished through load balancing of application instances running separately on a variety of operating systems and connected through Web services. CPU and network bandwidth is allocated and de-allocated on demand. The system's storage capacity goes up and down depending on the number of users, instances, and the amount of data transferred at a given time.

Both computing types involve multitenancy and multitask, meaning that many customers can perform different tasks, accessing a single or multiple application instances. Sharing resources among a large pool of users assists in reducing infrastructure costs and peak load capacity. Cloud and grid computing provide service-level agreements (SLAs) for guaranteed uptime availability of, say, 99 percent. If the service slides below the level of the guaranteed uptime service, the consumer will get service credit for receiving data late.

The Amazon S3 provides a Web services interface for the storage and retrieval of data in the cloud. Setting a maximum limits the number of objects you can store in S3. You can store an object as small as 1 byte and as large as 5 GB or even several terabytes. S3 uses the concept of buckets as containers for each storage location of your objects. The data is stored securely using the same data storage infrastructure that Amazon uses for its e-commerce Web sites.

While the storage computing in the grid is well suited for data-intensive storage, it is not economically suited for storing objects as small as 1 byte. In a data grid, the amounts of distributed data must be large for maximum benefit.

A computational grid focuses on computationally intensive operations. Amazon Web Services in cloud computing offers two types of instances: standard and high-CPU.

Issues to consider

Four issues stand out with cloud and grid computing: threshold policy, interoperability issues, hidden costs, and unexpected behavior.

Threshold policy

Let's suppose I had a program that did credit card validation in the cloud, and we hit the crunch for the December buying season. Higher demand would be detected and more instances would be created to fill that demand. As we moved out of the buying crunch, the need would be diminished and the instances of that resource would be de-allocated and put to other use.

To test if the program works, develop, or improve and implement, a threshold policy in a pilot study before moving the program to the production environment. Check how the policy detects sudden increases in the demand and results in the creation of additional instances to fill in the demand. Also check to determine how unused resources are to be de-allocated and turned over to other work.

Interoperability issues

If a company outsources or creates applications with one cloud computing vendor, the company may find it is difficult to change to another computing vendor that has proprietary APIs and different formats for importing and exporting data. This creates problems of achieving interoperability of applications between these two cloud computing vendors. You may need to reformat data or change the logic in applications. Although industry cloud-computing standards do not exist for APIs or data import and export, IBM and Amazon Web Services have worked together to make interoperability happen.

Hidden costs

Cloud computing does not tell you what hidden costs are. For instance, companies could incur higher network charges from their service providers for storage and database applications containing terabytes of data in the cloud. This outweighs costs they could save on new infrastructure, training new personnel, or licensing new software. In another instance of incurring network costs, companies who are far from the location of cloud providers could experience latency, particularly when there is heavy traffic.

Unexpected behavior

Let's suppose your credit card validation application works well at your company's internal data center. It is important to test the application in the cloud with a pilot study to check for unexpected behavior. Examples of tests include how the application validates credit cards, and how, in the scenario of the December buying crunch, it allocates resources and releases unused resources, turning them over to other work. If the tests show unexpected results of credit card validation or releasing unused resources, you will need to fix the problem before running the application in the cloud.

Security issues

In February 2008, Amazon's S3 and EC2 suffered a three-hour outage. Even though an SLA provides data recovery and service credits for this type of outage, consumers missed sales opportunities and executives were cut off from critical business information they needed during the outage.

Instead of waiting for an outage to occur, consumers should do security testing on their own—checking how well a vendor can recover data. The test is very simple. No tools are needed. All you have to do is to ask for old data you have stored and check how long it takes for the vendor to recover. If it takes too long to recover, ask the vendor why and how much service credit you would get in different scenarios. Verify if the checksums match the original data.

An area of security testing you should do is to test a trusted algorithm to encrypt the data on your local computer, and then try to access data on a remote server in the cloud using the decryption keys. If you can't read the data once you have accessed it, the decryption keys are corrupted, or the vendor is using its own encryption algorithm. You may need to address the algorithm with the vendor.

Another issue is the potential for problems with data in the cloud. To protect the data, you may want to manage your own private keys. Check with the vendor on the private key management. Amazon will give you the certificate if you sign up for it.

Software development in cloud

To develop software using high-end databases, the most likely choice is to use cloud server pools at the internal data corporate center and extend resources temporarily with Amazon Web services for testing purposes. This allows project managers to better control costs, manage security, and allocate resources to clouds a project is assigned to. The project managers could also assign individual hardware resources to different cloud types: Web development cloud, testing cloud, and production cloud. The cost associated with each cloud type may differ from one another. The cost per hour or usage with the development cloud is most likely lower than the production cloud, as additional features, such as SLA and security, are allocated to the production cloud.

The managers can limit projects to certain clouds. For instance, services from portions of the production cloud can be used for the production configuration. Services from the development cloud can be used for development purpose only. To optimize assets at varying stages of the project of software development, the managers can get cost-accounting data by tracking usage by project and user. If the costs are found to be high, managers can use Amazon EC2 to temporarily extend resources at a very low cost provided that security and data recovery issues have been resolved.

Environmentally friendly cloud computing

One incentive for cloud computing is that it may be more environmentally friendly. First, reducing the number of hardware components needed to run applications on the company's internal data center and replacing them with cloud computing systems reduces energy for running and cooling hardware. By consolidating these systems in remote centers, they can be handled more efficiently as a group.

Second, techniques for cloud computing promote telecommuting techniques, such as remote printing and file transfers, potentially reducing the need for office space, buying new furniture, disposing of old furniture, having your office cleaned with chemicals and trash disposed, and so on. They also reduce the need for driving to work and the resulting carbon dioxide emissions.

Conclusion

This article helps you plan ahead for working with cloud by knowing how cloud computing compares to grid computing, how you can resolve issues in cloud and grid computing, and what security issues exist with data recovery and managing private keys in a pay-on-demand environment. Potential consumers' demands for increased capacities over the Internet present a challenge for the developers and other members of a project team. Being aware of and resolving the issues of Web application design and potential security issues can make your team's experiences trouble-free. 

Future of Cloud Computing: Why to Switch to Cloud Computing Today?

Future of Cloud Computing: Why to Switch to Cloud Computing Today?

Future of cloud computing is very bright. In future, Cloud computing is going to become the major player of the information critical and sensitive business. In future, cloud computing will become must, so try migrating to cloud computing today. 

The future of cloud computing is bright for the companies that implement the technology now. While these are some trends that are expected in the future, the future is not limited to these trends. Remain abreast of the latest developments to help your company maintain a competitive advantage. This will make your company more profitable and productive when it can complete tasks faster and more efficiently than the competition.

Here are reasons why cloud computing will become the backbone of the business in future in the coming years:

Technology to Ensure Uptime

Companies need uptime guarantees. With low-power processors, data centers will become more affordable, allowing companies to acquire seven to ten data centers around the world in different time zones and thereby allowing them to guarantee 99.9 percent uptime. This will keep companies from losing money and falling prey to their competitors. In the future, this concern will be near obsolete.

Disaster Recovery and Remote Access

Cloud computing enables and enhances remote access and faster disaster recovery. When companies have an emergency information security strategy with security penetration tests, companies can maintain their competitive edge within their respective industries.

With cloud computing, some companies that didn’t recognize a breach may recover within minutes instead of hours. Losing proprietary data can cripple a company and even cause doors to close. Every company should migrate to cloud computing for this reason.

Cloud Computing is becoming more Robust

Cloud computing is becoming more about “fit and function” than about the “hype” surrounding the new technology. Most companies can benefit from cloud computing, but some companies have suffered failed projects during the migration phase because the technology is still in the developmental stages. Typically, migrations fail because of inaccurate or missing data.

Data accuracy must be ensured to avoid catastrophe or business interruption. Service providers must ensure that the migration of all data occurs without mishap. Technicians can still make configuration mistakes that compromise the safety of company data. In the future, migrations will be seamless, and technology will be more robust.

The Ability to Validate Identities through Trusts

In the future, cloud security systems will be able to validate identities through a “centralized trust.” Identity-based security is thought to be more secure than current forms of security. More people will begin to trust cloud computing when this happens.

Centralized Data is the Future in Cloud Computing

Centralized data is expected in abundance in the future of cloud computing. This allows companies to create huge databases. Patient care can be improved with centralized data in huge databases. Better stock market decisions are also possible. Centralized data is a way of the future.

More Capability

Mobile devices that rely on the cloud will become more powerful and thinner because all applications will be web-based. All mobile devices will store data that resides in the cloud, and designers can add more capability and lower costs of the phone. One example of this concept is Apple’s iCloud.

Hybrid Cloud Computing Increases Efficiency

Hybrid cloud computing is expected to help businesses become more efficient by optimizing business process performance. Businesses are excited about hybrid cloud computing because it enhances internal infrastructure and applications. The ability to scale the strengths of local networks and cloud computing is coveted by designers.

Proactive Application Monitoring

Proactive application monitoring technology is currently available, but predictive technology and software will soon make this more robust and accurate. Companies will be able to foresee disaster and avert it, mitigating damage to their systems. This will prevent downtime and make the company safer.

Mobile Optimization for Cloud Services

Mobile commerce is on the rise. Cloud computing applications require fewer resources and are recommended for mobile devices. Accessibility is increased because fewer resources are required. This is why cloud computing is recommended for business and personal applications.

Commodity Hardware

By 2020, low-cost hardware will make it easier to configure advanced data centers capable of complex algorithms at fast speeds. This will increase uptimes and improve user satisfaction.

Low-Power Processors

Low power processors are expected to lower the cost of operation in large data centers. Users can expect to reduce electricity bills significantly. Low-power ARM chips will make this possible in the upcoming year. With 64-bit capability, uptake should be accelerated. These low-power ARM chips will be used in conjunction with RISC chips and enterprise software to yield an economical and environmentally-friendly solution.

Faster Interconnects

Cloud computing is still in its infancy stage. By 2020, cloud computing is expected to be a permanent solution in many organizations. Data centers will be automated and will support scalable software architecture.

Cloud Computing Will Help Businesses Optimize Their Investments

Cloud computing can help companies optimize investments and scale operations. In the future, new low-power processors and other chip technology will help businesses operate to their full IT capacity. With more innovation, greater revenue potential is possible. Companies can re-invest in their products and services with higher profit margins. Scaling investments will also lead to greater operational agility.

Efficient business models are also possible with cloud computing. With greater efficiency, companies can bring innovative and superior products to market faster than competitors.

Better Overall Security and Assumed Reliability

Currently, designers are working hard to ensure people that cloud computing is the way of the future. It will be the preferred method of hosting applications, platforms, and services. By 2020, it will no longer be a topic of discussion, and experts will be more concerned with how companies can use big data to solve complex problems with cloud computing than with convincing people of its usefulness.

Data center physical security is just as important as data encryption. While minimum encryption regulations may be increased from the current 256-bit SSL, physical access to data center facilities may require biometric scans in addition to electronic pass. These facilities will also be protected by advanced alarm systems.

In addition to physical security, firewall and VPN technology will be improved to protect data transfer. New firewall policies, although not fully defined, will limit VPN traffic to specific IP addresses and ports. With upgraded firmware, breaches will be less likely to occur.

Cloud Computing Present Challenges

Cloud computing is seen by many as the next wave of information technology for individuals, companies and governments. The abundant supply of information technology capabilities at a low cost offers many enticing opportunities. In addition to reducing operational costs, cloud technologies have become the basis for radical business innovation and new business models, and for significant improvements in the effectiveness of anyone using information technology – which, these days, increasingly means most of the world. Like any new technology advancement, cloud computing also creates disruptive possibilities and potential risks.

Many organizations are operating large cloud data centers packed with hundreds of thousands of server computers, and their technologists are looking for ways to differentiate their services from their competitors while reducing complexity.  Today, many of them use technologies that originated in the personal computing era to power their data centers. It’s a one-size-fits-all approach that’s out of sync with the demands of the cloud era.  In addition, these organizations still face critical issues like system utilization and management complexity. 

But a lot of solutions have been developed to cope the challenges which cloud computing is facing today to give it a bright future.

Sunday, 11 August 2013

ReportBuilder: A Strong Reporting Tool For Delphi Applications: Features and Advantages

ReportBuilder: A Strong Reporting Tool For Delphi Applications: Features and Advantages

There are a lot of reporting tools in delphi like Report Smith, Quick Reports, FastReports, Rave Reports, ReportBuilder and others. In this article we will focus on the main features and advantages of using ReportBuilder in your delphi application. 

ReportBuilder components from Digital Metaphors provide an ideal platform for building world-class reporting applications. ReportBuilder provides us with a powerful, intuitive set of components that provide sophistication in the design of reports, and the ability for non-programming professionals to produce outstanding quality reports. 

ReportBuilder easily allows for getting up to speed quickly: integrated report previewer, data base access, charting, report explorer, an end-user report designer for those needing reporting solutions today, ReportBuilder provides a complete reporting solution.

Good Technical Support

Any complex software requires support, and Digital Metaphors' support is top rate. The response time is quick, and this helps reduce programmer frustration. This is key in any third-party tools used by programmers.

Digital Metaphors produces high-quality reporting components and provides outstanding support for their product. The newsgroups provide a wealth of information and collaboration between the vendor and other developers. The company 

has always been extremely responsive to any support issues. Digital Metaphors staff answers any questions extremely quickly (same day) on their newsgroups.

Flexibility of ReportBuilder

Report Builder provides a level of flexibility unmatched by any other reporting tool ever created. This flexibility is due to the large number of report components, the ability to group components using regions, the ability to create relationships between stretching components such as memos, richtext and subreports, and the flexibility of nesting full-fledged reports within one another. With ReportBuilder, there is no limit to the complexity which you can resolve.

Support for multiple nested drill-down subreports

This feature can be used to create a highly sophisticated ‘tree view’ of the data: an initial summary report is displayed and additional information can be accessed simply by clicking on an item in the Print Preview window. The page is then re-rendered with more detail information shown. You can also utilize this technology to make the Print Preview window ‘clickable’ so that you can create solutions of your own, such as launching an independent report when an item in the report is clicked. The potential uses of the ‘hot’ Print Preview window are literally endless.

Less Cost of Deployment

The ReportBuilder Server components are deployable at a very reasonable cost. ReportBuilder is available in Server, Enterprise, Professional and Standard editions.

Support for Charting

Support for charting and exporting to various formats is excellent in ReportBuilder.

Good Database Support

ReportBuilder provides very good support for all databases. With ReportBuilder, the same report runs correctly under all the databases like Oracle, MS SQL, Firebird, InterBase etc.

Data can be accessed easily from their Data Access Development Environment (DADE), or directly through datasets, text files, or class structure allowing reports to access their data in a natural way. (No need to create datasets just for reports!).

Easy To Use Interface

ReportBuilder end user interface is very powerful and easy-to-use. Wizards are available within the system for creating reports. 

ReportBuilder previewer is fully integrated. With ReportBuilder's flexibility, the report order can be customized for an advisor’s preferences (e.g. the page order can easily be customized). And output can easily be sent to multiple formats (PDF, printer, and/or previewer) at the same time. Additionally, ReportBuilder allows for saving reports so that a copy of the report can view later. 

Good Documentation and Samples Reports

ReportBuilder provides good documentation, sample reports and examples, help files, and the reporting components. 

The examples are extremely good (pointing out each of the capabilities of the system), written (.PDF) documentation is good, the (Delphi) help files are well designed, and the engine appears extremely easy to integrate. ReportBuilder also offers a few other features such as integrated support for charting, a built-in macroing language (RAP), drill-down capability, and available source code. The product price also includes royalty-free distribution of the engine and the designer.

Conclusion

ReportBuilder provides a complete solution for Delphi programmers. From getting started, to full integration into complex applications. ReportBuilder provides an excellent reporting option for any Delphi programmer!

Thursday, 8 August 2013

Unicode Support in Delphi: UnicodeString and AnsiString in Delphi

Unicode Support in Delphi: UnicodeString and AnsiString in Delphi 

Recently I was migrating an old Delphi 7 application to newest Delphi XE4 application. The main road block I faced with unicode strings (UnicodeString and AnsiString). Delphi started to support unicode string from Delphi 2009 version. So there are some points regarding unicode characters (UnicodeString and AnsiString) you need to keep in mind while migrating your delphi application older than Delphi 2009 to the newer version. Let me first tell you what unicode is and why do we need this in modern applications?

What is Unicode?

Unicode is a character encoding scheme that allows virtually all alphabets to be encoded into a single character set. Unicode "enabled" applications can use characters and symbols of all of the worlds written languages for storage, retrieval, and display by digital computers.

Unicode is the name of an international character set, encompassing the symbols of all written alphabets of the world, of today and of the past, plus a few more. Unicode includes also technical symbols, punctuations, and many other characters used in writing text, even if not part of any alphabet. 

Why to use Unicode?

Using unicode, Delphi developers become able to serve a global market with their applications -- even if they don’t do anything special to localize or internationalize their applications. Windows itself supports many different localized versions, and Delphi applications need to be able to adapt and work on machines running any of the large number of locales that Windows supports, including the Japanese, Chinese, Greek, or Russian versions of Windows. 

Users of your software may be entering non-ANSI text into your application or using non-ANSI based path names. ANSI-based applications won’t always work as desired in those scenarios. Windows applications built with a fully Unicode-enabled Delphi will be able to handle and work in those situations. Even if you don’t translate your application into any other spoken languages, your application still needs to be able to work properly -- no matter what the end user’s locale is.

UnicodeString and AnsiString in Delphi 

The default string in Delphi 2009 is the new UnicodeString type. By default, the UnicodeString type will have an affinity for UTF-16, the same encoding used by Windows. This is a change from previous versions which had AnsiString as the default type. 

UnicodeString is assignment compatible with all other string types; however, assignments between AnsiStrings and UnicodeStrings will do type conversions as appropriate. Thus, an assignment of a UnicodeString type to an AnsiString type could result in data-loss. That is, if a UnicodeString contains high-order byte data, a conversion of that string to AnsiString will result in a loss of that high-order byte data.

The important thing to note here is that this new UnicodeString behaves pretty much like strings always have (with the notable exception of their ability to hold Unicode data, of course). You can still add any string data to them, you can index them, you can concatenate them with the ‘+’ sign, etc.

For example, instances of a UnicodeString will still be able to index characters. Consider the following code:

 var
   MyChar: Char;
   MyString: string;
 begin
   MyString := ‘This is a string’;
   MyChar := MyString[1];
 end;

The variable MyChar will still hold the character found at the first index position, i.e. ‘T’. This functionality of this code hasn’t changed at all. Similarly, if we are handling Unicode data:

 var
   MyChar: Char;
   MyString: string;
 begin
   MyString := ‘世界您好‘;
   MyChar := MyString[1];
 end;

The variable MyChar will still hold the character found at the first index position, i.e. ‘世’.

Wednesday, 7 August 2013

New and Additional Tools included in RAD Studio XE4 and Delphi XE4

New and Additional Tools included in RAD Studio XE4 and Delphi XE4

RAD Studio XE4 is out in April this year. RAD Studio XE4 includes a comprehensive set of additional tools as compred to previous version to help you do more than ever before. Many new reporting, charting, logging, profiling and web tools are added to Delphi XE4 edition. Following is the list of tool which were not there in the previous versions or were used as third party tools, now included in RAD Studio XE4 edition.

1. FastReport VCL 4 RAD edition from Fast Reports so you can quickly design and generate reports.

2. Documentation Insight Express from DevJET Software helps you visually read and write XML documentation in the Delphi IDE.

3. TeeChart Standard from Steema provides quick and easy-to-use charting components.

4. VCL for the Web (IntraWeb) from AtoZed is a complete RAD Web Application framework.

5. CodeSite Express logging tools for building quality applications.

6. AQtime Standard from SmartBear for performance profiling.

7. Beyond Compare Text Compare lets you view differences between source files.

Embarcadero RAD Studio XE4 and Delphi XE4 Features and Enhancements

Embarcadero RAD Studio XE4 and Delphi XE4 Features and Enhancements

RAD Studio XE4 released on April 22, 2013. RAD Studio XE4 is available in five editions – Starter, Professional, Enterprise, Ultimate and Architect. RAD Studio XE4 is filled with hundreds of new features and enhancements to help you build ultra-rich Windows, Mac, Web and mobile applications ultra-fast. Embarcadero Prism was available in earlier versions of RAD Studio. It is not included in RAD Studio XE4. Following is the list of features which Delphi XE4 provides:

1. Delphi XE4 supports Multiple Platforms

Delphi XE4 runs on multiple platforms like Windows, iOS and Mac. Delphi XE4 is used to build native applications for Windows, iOS and Mac with single codebase. You can run these applications on your PCs, Tablets and Smartphones. 

Development teams not using RAD Studio often have to support multiple development projects using different tools, programming languages, code bases, and sometimes different teams to deliver their app on both desktop and mobile devices. But building your app in RAD Studio eliminates the need to engage in multiple development efforts for the same application on multiple devices. 

2. Delphi XE4 builds Script Free True Native Apps

True native app development lets you deliver script-free, device-native apps that expose the full range of capabilities and performance in the underlying devices – for faster, richer apps that end users love.

Many tool vendors are using the term "native" app development to describe web technologies and scripts wrapped into an app package to deliver an app-like user experience. This approach can impose limits on app performance and capabilities.

True native apps in RAD Studio are script-free and run directly on hardware CPU.

3. Delphi XE4 uses Single Codebase for Multiple Platforms

With Delphi and C++Builder in RAD Studio, and the FireMonkey app platform, you can write an app once and natively target Windows (32-bit and 64-bit) and Mac from a single IDE and single source code base.

4. Delphi XE4 provides Advanced iOS App Development Features

Delphi XE4 provides a lot of advanced iOS application development features like:

A) Delphi ARM optimized compiler
B) Phone and tablet development for iPhone, iPod Touch and iPad
C) Pixel-perfect native UI controls
D) FireMonkey for iOS
E) dbExpress data access for InterBase and SQLite
F) DataSnap client
G) Device service and sensor support (gyro, GPS, camera and accelerometer)
H) Mobile form designer

With Delphi in RAD Studio XE4, you get a full range of native styled user interface controls, including buttons, listboxes and combo boxes, to incorporate into your apps. The iOS apps you create include native controls like the date picker and custom picker, different keyboard types, services like notifications, and support for Share Sheet to print and share via social media, email and direct communication with other apps. 

Your apps can be installed on your iOS developer devices, distributed via Apple's App Store, or made available within your organization.

iOS app development features are available in all editions of RAD Studio, in Delphi Enterprise edition and higher, and in Delphi Professional edition with the Mobile Add-On Pack option.

5. Delphi XE4 creates Secured Native Apps

Many app development vendors use Java, JavaScript and WebKit runtimes which are notorious hacker targets presenting inherent security risks on mobile devices. Embarcadero RAD Studio allows for true native app development, so your code runs directly on the device, reducing the risk of being targeted by third party attacks.

6. Delphi XE4 supports many Databases and Cloud Computing

FireDAC gives you native high-speed direct access from Delphi and C++Builder to InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap and many more local/embedded, mobile and enterprise databases.

RAD Studio XE4 includes ISV and enterprise-class integrated database connectivity, middleware and cloud computing via dbExpress and FireMonkey. You get integrated support for SQL Server, Oracle, Sybase, DB2, InterBase, SQL Anywhere, SQLite, MySQL, and many more embedded and server databases as well as cloud services including Windows Azure and Amazon Web Services.

Delphi XE4 provides extensive support for IBLite and SQLite iOS database.

7. Fast CPU and GPU native performance

Apps built with Delphi and C++Builder in RAD Studio are natively compiled and ultra-fast for the most performance demanding apps and user experiences. Windows and Mac apps are compiled to the Intel CPU architecture, and Delphi iOS apps are compiled to the ARM architecture. FireMonkey apps also directly utilize the GPU graphics hardware built into every PC, Mac, and mobile device built today and over the past decade.

8. Delphi XE4 supports Component-based development

With RAD Studio, you'll build apps up to 10x faster using pre-built components, drag-and-drop visual design, and Two-Way-Tools that always keep your visual design view and source code in sync. You get hundreds of components for user interfaces, charting, reporting, and connecting to databases and cloud services. Extend and customize the included components, create your own, or use the thousands of free and commercial components for every imaginable need.

9. Delphi XE4 has rich IDE

RAD Studio gives you everything you expect in an IDE like an intuitive code editor, integrated local and remote debugging, project management and building plus a whole lot more. You get advanced tools for refactoring, code audits, metrics and modeling. Delphi and C++Builder in RAD Studio also include special editions of popular add-on tools for logging, performance profiling, graphics, charting, reporting, web apps and creating installers – all at no extra cost!

Firebird: Free and Open Source Database Server

Firebird: Free and Open Source Database Server

Firebird is a free and open source relational database offering many ANSI SQL standard features that runs on Linux, Windows, Mac OS X and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. Firebird technology has been in use for 20 years, which makes it a very mature and stable product. Following is the list of features which Firebird provides:

1. Free and Open Source

Firebird is free like a bird. No fees for download, registration, licensing or deployment, even you distribute Firebird as part of your commercial software package. Anyone can build a custom version of Firebird, as long as the modifications are made available, under the same IDPL licensing, for others to use and build on.

Firebird's development depends on voluntary funding by people who benefit from using it. Funding options range from donations, through Firebird Foundation memberships to sponsorship commitments.

2. Firebird Supported Platforms

Firebird 2.5 runs on Windows (32- and 64-bit), various Linux versions (32- and 64- bit), Solaris (Sparc and Intel), HP-UX (PA-Risc) and MacOS X. Main development is done on Windows and Linux, so new releases are usually offered first for these platforms, followed by other platforms after a few weeks.

3. Firebird Architecutres and Versions

Firebird comes in a number of flavors: Classic, SuperClassic, SuperServer and Embedded. Latest release of Firebird are:

Firebird 3.0
Firebird 2.5
Firebird 2.1

Firebird 3.0 is available only for testing and not for production environment. Firebird 2.5 is the stable release.

4. Firebird Database Connectivity

Firebird is supported by numerous database connectivity options:

Firebird.NET
JayBird (Java)
Delphi/C++ Builder drivers (Embarcadero Delphi/C++ Builder IDEs include dbExpress drivers to work with Firebird.)
FreePascal & Lazarus
PHP for Firebird
FireRuby

and more.....

5. Firebird Administration Tools

Firebird comes with a number of powerful command-line tools to administer the database, but does not include a GUI interface. Fortunately, third-party GUI administration tools are available.

6. Firebird Codebase

Work on porting the codebase from C to C++ began in 2000. On 23 February 2004, Firebird 1.5 was released, which was the first stable release of the new codebase.

7. Firebird Documentation

The Firebird Project supplies users, developers and administrators with various kinds of documentation, from Quick Start guides to expert-level articles devoted to various aspects of Firebird.

There are a lot of papers, FAQs and articles that you may want to check in the Firebird main site. Also, you can check if your country has a localized community site or discussion list, so you can get support in your native language.

All this information can be found digging around in the Firebird main site. Also, check www.firebirdnews.org to get up to date with the most recent news related to Firebird.

8. Firebird Community Support

Firebird has large community around the world, where people will be glad to help newbies and experienced developers to get answers for almost all tricky questions.