Friday, January 17, 2014

24 Frequently Asked Basic SOA Interview Questions and Answers

24 Frequently Asked Basic SOA Interview Questions and Answers

SOA stands for Service Oriented Architecture. If you are preparing for SOA interview, the following SOA interview questions and answers can be very useful to you. Basically, these SOA interview questions and answers cover basic concepts of SOA like services in SOA, characteristics and principles of services in SOA, loose coupling of services, contract, address and bindings in SOA, main benefits of SOA to the business and IT, difference between services and components in SOA, requirement of SOA to the business, pitfalls of SOA etc. Let's have a look:

1. What is a Service in SOA?

In the real world, a service is what we pay for and we get the intended service. 

Example 1 (from Real World): You go to a restaurant and order food. Your order first goes to the counter and then it goes to the kitchen where the food is prepared and finally the waiter serves the food.

So in order to order an item from a restaurant you need three logical departments / services to work together (counter, kitchen, and waiter).

In the same manner in software world, these services are termed as business services. 

Example 2 (from Software World): You go to Amazon to order a book. Different services like payment gateway, stock system, and delivery system come together to achieve your task. 

All the services are self contained and logical. They are like black boxes. In short we do not need to understand the internal details of how the business service works. For the external world it’s just a black box which takes messages and serves accordingly. For instance the ‘payment gateway’ business service takes the message ‘check credit’ and gives out output: does the customer have credit or not. For the ‘order system’ business service ‘payment gateway’ service is a black box.

2. What are the main characteristics of services in SOA?

Following are the main characteristics of services in SOA:

A) SOA components are loosely coupled. When we say loosely coupled that means every service is self contained and exists alone logically. For instance we take the ‘payment gateway’ service and attach it to a different system.

B) SOA services are black boxes. In SOA, services hide there inner complexities. They only interact using messages and send services depending on those messages. By visualizing services as black boxes, services become more loosely coupled.

C) SOA service should be self defined: SOA services should be able to define themselves.

D) SOA services are maintained in a listing: SOA services are maintained in a central repository. Applications can search the services in the central repository and use them accordingly.

E) SOA services can be orchestrated and linked to achieve a particular functionality: SOA services can be used/orchestrated in a plug and play manner. For instance, the figure ‘Orchestration’ shows two services ‘Security service’ and ‘Order processing service’. You can achieve two types of orchestrations from it: one you can check the user first and then process the order, or vice-versa. Yes, you guessed right, using SOA we can manage a workflow between services in a loosely coupled fashion.

3. What is SOA?

SOA stands for Service Oriented Architecture. SOA is an architecture for building business applications using loosely coupled services which act like black boxes and can be orchestrated to achieve a specific functionality by linking together.

4. What are Contract, Address, and Bindings?

These three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be available to the client. End consists of three important things where, what and how:-

Contract is an agreement between two or more parties. It defines the protocol how client should communicate with your service. Technically, it describes parameters and return values for a method.

An Address indicates where we can find this service. Address is a URL, which points to the location of the service.

Bindings determine how this end can be accessed. It determines how communications is done. For instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for each of these communications medium two bindings will be created.

5. Are web-services SOA?

SOA is a thinking, it’s an architectural concept, and web service is one of the technical approaches to complete it. Web services are the preferred standards to achieve SOA.

In SOA we need services to be loosely coupled. A web service communicates using the SOAP protocol which is XML based, which is very loosely coupled. It answers the what part of the service.

SOA services should be able to describe themselves. WSDL describes how we can access the service.

SOA services are located in a directory. UDDI describes where we can get the web service. This is nothing but the implementation of the SOA registry.

6. What are the main benefits of SOA?

SOA helps create greater alignment between IT and line of business while generating more flexibility - IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide.

SOA can help you get better reuse out of your existing IT investments as well as the new services you’re developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction

7. What is a reusable Service?

It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service.

A reusable service should be identified with a business activity described by the service specifications (design-time contract).

A service’s constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).

A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured.

8. Talking about Service identification, which approach between top-down and bottom-up methodologies encourages re-use and maintenance?

Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term. 

9. How can you achieve loose coupling in a SOA?

One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface. However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations

10. Do you recall any pattern which could be used to leverage loose coupling?

The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this.

Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).

Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels.

11. The Service of a SOA should be engineered as stateless or stateful?

Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.

12. What is composition of a Service?

Composition is the process by which services are combined to produce composite applications or composite services. A composite application consists of the aggregation of services to produce an enterprise portal or enterprise process. A composite service consists of an aggregation of services that produces another reusable service. It’s just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application.

13. How do I integrate my Legacy applications with SOA?

Legacy applications are frequently at the core of your IT environment. With the right skills and tools, you need to identify discrete elements within your legacy applications and “wrap” them in standards-based interfaces and use them as services within your SOA.

14. How does the ESB fits in this picture?

The Enterprise Service Bus is a core element of any SOA. ESBs provide the “any to any” connectivity between services within your own company, and beyond your business to connect to your trading partners. But SOA does not stop at just implementing an ESB. Depending on what your goals are, you may want to use an ESB to connect other services within your SOA such as information services, interaction services and business process management services. Additionally, you will need to consider development services and IT service management services. The SOA reference architecture can help you lay out an SOA environment that meets your needs and priorities. The ESB is part of this reference architecture and provides the backbone of an SOA but it should not be considered an SOA by itself.

15. In SOA do we need to build systems from scratch?

No. If you need to integrate or make an existing system as a business service, you just need to create loosely coupled wrappers which will wrap your custom systems and expose the systems functionality in a generic fashion to the external world.

16. What’s the difference between services and components?

Services are logical grouping of components to achieve business functionality. Components are implementation approaches to make a service. The components can be in JAVA, C#, C++ but the services will be exposed in a general format like Web Services.

17. The concept of SOA is nothing new, however why everyone started to talk about SOA only in the recent years?

Yes, I agree the basic concepts of SOA aren’t new, however some technology technology changes in the last 10 years made service-oriented architecture more practical and applicable to more organizations than it was previously. Among this:

1. Universally-accepted industry standards such as XML, its many variants, and Web-services standards have contributed to the renewed interest in SOA.

2. Data governance frameworks, which are important to a successful SOA implementation, have well test and refined over the years.

3. A variety of enabling technologies and tools (e.g., modeling, development, infrastructure/middleware, management, and testing) have matured.

4. Understanding of business and business strategies has grown, shifting attention from technology to the people, cultural changes, and process that are key business success factors.

18. What is the most important skill you need to adopt SOA? Technical or Cultural?

Surely cultural. SOA does require people to think of business and technology differently. Instead of thinking of technology first (e.g., If we implement this system, what kinds of things can we do with it?), practitioners must first think in terms of business functions, or services (e.g., My company does these business functions, so how can I set up my IT system to do those things for me most efficiently?).It is expected that adoption of SOA will change business IT departments, creating service-oriented (instead of technology-oriented) IT organizations.

19. What are the main obstacles in the way of SOA?

1. Shortage of skills. 
2. Justifying the ROI of SOA projects. 

20. Can I buy an SOA or must I build one?

To move your organization toward greater service orientation, you need to take a balanced approach to building versus buying. To create the infrastructure for an SOA, you'll need the right commercial off-the-shelf software that complements (rather than replaces) your existing IT infrastructure. This is a “buy” statement. On the “build” side, you may also choose to access know-how and hands-on involvement to use these software products effectively and get the most out of them. This infrastructure and the associated tools can help you create the business services that run on your SOA. Again, there is some “building” associated with this. So the real answer is that you need a certain measure of both building and buying.

21. Do I need SOA Governance to get started?

A key aspect of successful SOA implementations is having business involved in the effort from the beginning. One of the values from SOA you can gain is improved Business/IT Alignment. SOA Governance supplies the decision rights, processes, and policies for business and IT to work together. After a service is deployed, there must be management aspects in place to control and monitor the service. You do not need a lot of SOA Governance to get started, but enough to work with the level of Smart SOA you are implementing.

22. What are SOA Entry Points?

To get started quickly with SOA, you need to select an initial project that focuses on a particular business opportunity that can be completed in a reasonably short time frame. The SOA Entry points are project areas that have been shown to provide business value in a timely manner. Each Entry Point provides a key SOA related solution:

People - collaboration improving productivity by giving employees and partners the ability to create a personalized, consolidated way to interact with others.

Process - optimize and deploy processes on the fly and monitor the effectiveness of the altered processes.

Information - improve business insight and reduce risk by using trusted information services delivered in line and in context.

Reuse - newly created and reusable services are the building blocks of SOA. Reuse gives users flexibility through reduced cycle time and elimination of duplicate processes.

Connectivity - although, in the past, connectivity has been a requirement, SOA brings new levels of flexibility to these linkages. The connectivity provided by SOA has distinct value on its own and as a building block for additional SOA initiatives.

23. What are the common pitfalls of SOA?

One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources.

Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant time-frame or to offer a compelling return on investment.

24. Is SOA really needed on your opinion?

SOA is not for everyone. While SOA delivers significant benefits and cost savings, SOA does require disciplined enforcement of centralized governance principals to be successful. For some organizations, the cost of developing and enforcing these principals may be higher than the benefits realized, and therefore not a sound initiative.

Thursday, January 16, 2014

Linux vs Windows Web Server Hosting: Which one to choose and why?

Linux vs Windows Web Server Hosting: Which one to choose and why?

When you think of hosting your website, the first question strikes in your mind is that which web server hosting should you choose? Should you go for Linux web server hosting or Windows web server hosting. I have tried to compare both Linux and Windows web server hosting. Choosing between Linux and Windows web server hosting mainly depends upon your need and the nature of your website, which programming language and database are you using etc. Let's discuss in detail on choosing between Linux and Windows web server hosting.

1. Which programming language are you using?

You should choose a Linux Web Server Hosting if you are using PHP, Perl, Python, or CGI scripting. On the other hand, if you are using ASP.NET, go for Windows Web Server Hosting.

2. Which database are you using?

Mainly, the Linux Web Server Hosting accounts use MySQL database and Windows Web Server Hosting accounts use SQL Server (MS SQL). 

Advantages of Linux Web Server Hosting over Windows Web Server Hosting

The following are the advantages of using Linux based web server compared to Windows based web server:

Stable: Linux/Unix operating systems have traditionally been believed to be very stable and robust. A web site housed on a Linux operating system will have very high up-time (of the order of 99.9%). Of course, other factors such as power supply, network admin skills, and network load etc. also matter when it comes to maintaining the system uptime.

Low cost: The Linux OS comes free of cost (or at very insignificant cost, usually cost of distribution). Also, it has full fledged server, and desk top applications that comes free along with the OS. These server applications (such as FTP, Web Server, DNS Server, File Server etc.) being free, are also very stable.

Ease of use: When it comes to web hosting, it is easy to host on Linux web servers. The process of uploading and hosting is almost same for both Linux and Windows web servers. 

Easy to move between hosts: A web site designed to be hosted on a Linux based web server can be hosted on a Windows web server easily, where as the reverse is not always true.

Most widely used: Linux/Unix based web hosting is most widely used compared to Windows based web hosting.

Scalability: A web site is dynamic. Usually, a web site starts with a few pages of html and grows over a period of time to suit the customers requirements. It is preferable to design a web site keeping this requirements in mind. A web site designed for compatibility with a Linux/Unix based web server meets the scalability requirement easily without making any site wide design changes.

Disadvantage of Linux Web Server Hosting 

Less ASP and .NET support: Linux based web server is not fully compatible with Microsoft technologies. While there are many software that enable ASP.NET on Linux machines, it is far less common to find a Linux web hosting platform that supports ASP or .NET. If you are using Microsoft based technologies for your web site, it is preferable to host with a Windows based web server. 

Tuesday, January 14, 2014

TFileStream and TMemoryStream Classes in Delphi

TFileStream and TMemoryStream Classes in Delphi

TFileStream class is descendant of THandleStream and is used for manipulating file data. TMemoryStream is used for manipulating data in memory. TMemoryStream is descendant of TStream class. This class introduces read-only property called Memory which is of pointer type. So, you can get direct access to memory maintained by TMemoryStream.

TFileStream class usage in Delphi

Following is the simple delphi program to load a file name 'c:\mydata.dat' for read access into stream and then read 4 bytes from beginning of file into a variable.

var
  afile_st : TFileStream;
  temp_data: cardinal;
...
afile_st:=TFileStream.Create('c:\mydata.dat', fmOpenRead);
try
  //make sure file pointer is on beginning of file
  afile_st.Seek(0, soFromBeginning); 
  //read buffer
  afile_st.ReadBuffer(temp_data, 4);
finally
  afile_st.Free;
end;

TMemoryStream class usage in Delphi

Use TMemoryStream to store data in a dynamic memory buffer that is enhanced with file-like access capabilities. TMemoryStream provides the general I/O capabilities of a stream object while introducing methods and properties to manage a dynamic memory buffer. 

Following is the simple delphi program to load data from a file to memory.

var 
  memStream:TMemoryStream;
  ...
  memStream:=TMemoryStream.Create;
  try
   LoadFromFileToMem('C\myFile.dat',memStream);  
  finally
   memStream.Free;
  end;
  
procedure LoadFromFileToMem(const filename:string; memStream:TMemoryStream);
var 
  afileStream:TFileStream;
begin
  afileStream:=TFileStream.Create(filename, fmOpenRead);
  try
    memStream.CopyFrom(afileStream);
  finally
    afileStream.Free;
  end;
end;

Saturday, January 11, 2014

Top 4 Dedicated Web Server Hosting Services Providers

Top 4 Dedicated Web Server Hosting Services Providers

If you have decided to choose dedicated web server hosting for your business application, following is the review of top 4 dedicated web server hosting services provider which might help you in choosing the best dedicated web server hosting provider for your business application. We have reviewed 100TB, InMotion, HostV and SingleHop in terms of their features, performance, reliability and customer service support.

1. 100TB

100TB is a web hosting company that was started in a bid to offer hosting services to people from all over the world. The company since its inception has been able to compete with those already existent companies and has still managed to grow steadily thus getting a slot among the industry leaders in web hosting.

The 100tb web hosting company has been in the hosting industry for several years now and has managed to keep its reputation among the leaders in the web hosting industry. Moreover, the company offers clients great customer support that ensures that their stay at the company is comfortable. 100Tb more so has a reputation of have the latest and state of the art technological equipment in their data centers thus high performance.

Features

1000tb web hosting company prides itself in offering clients the best web hosting services to best suit their needs. This is why the company employs use of the most cutting edge technology and state of the art equipment in their data centers. The servers that the company uses are given back up by redundant state of the art data centers. Better yet, the company offers cloud servers and dedicated servers.

The company offers 100TB worth of bandwidth and unrestricted tier on a monthly basis. Some of the other features of the 1000tb web hosting include, a fast replacement of hardware, SSH Full Root and also FTP. It supports both Windows and Linux based hosting and a user can have up to 8 IP addresses. For Linux, 1000tb offers Web min and has a carrier and redundant network. The company employs the use of different control panels, c Panel for Linux at $25 monthly, PLESK that holds up to 30 domains costs$15 monthly and PLESK supporting 1000 domains goes for $20 monthly. The clients are also given a free domain that one can use for life.

Performance

Customers at 100tb web hosting services receive an up time of up to 99.9% uninterrupted which ensures that clients are well served. With an up time of 99.95 it is guaranteed that the clients’ websites are up and running throughout without interruptions. Their servers are very powerful, of the best quality and high performance which ensures that the services that clients get from them are the best available and on top of that the performance it offers clients is dependable and thus the best. More so, the company offers several free services that clients can enjoy thus making their stay at 100tb more comfortable.

Reliability

The company uses high quality and state of the art hardware and servers to ensure that their customers’ needs are adequately catered for. There are some free services that the 1000tb web hosting company offers their clients such as installation or re installation of a customer’s operating system, Free installation and re installing of a client’s control panel along with free transfer from one host to another.

Customer Service

1000tb more so, ensures that the web hosting needs of their clients are the most important thing and thus customers can access 24/7 customer support from their technical team both in the USA and UK.. Clients can reach the technical team either via e-mail or telephone and on top of that clients have a toll free number they can call to reach 1000tb web hosting.

2. InMotion

The Inmotion Incorporated web hosting company was founded back in the year 2001 and has swiftly grown since then. Since it was started, the company has been able to steadily gained prominence n the web hosting industry to become a leader in offering web hosting services. They offer great hosting services to all types of clients, be it for individual or business use. The company offers great and affordable hosting services to clients from every part of the world. They look to offer affordable hosting services especially to small and medium business enterprises around the world.

The company has a reputation of offering great technical and customer support as they make their clients the primary focus when offering their services.  Furthermore, Inmotion web hosting company upholds a reputation as having great up time statistics which are indisputable. They also have feature-rich hosting services which are designed to attract customers and retain them at the hosting company, along with give them all rounded hosting services. Inmotion is also known as a trusted and reliable web host throughout the world.

Features

Inmotion web hosting company employs the use of the renowned c-Panel control panel which is the most preferred in the industry. The c Panel is widely use thanks to its great features and better yet the user friendly interface which makes it very easy to use. The company offers their clients web hosting services that is packed with e commerce features. On top of that, each client gets a free domain name on setting up an account with the company. The company offers three types of hosting services: VPS hosting, shared hosting and dedicated hosting services to their clients. Inmotion web hosting company has never failed to deliver on their advertised network up time of 99.9% that is advertised on their web site. Other features include: free domain registration, easy data backup and restore for every clients’ website, high speeds for professional hosting for businesses, various hosting plans to suit each clients needs, Word Press, Joomla and Drupal and last but not least secure hosting for e-commerce websites. Inmotion web hosting company web sites are powered by Unix and Linux Operating Systems.

Performance

The company’s up-time is just great which is a plus as clients do not have to experience any down time and their web sites are up running all through the day. Clients more over get the data backed up on a daily basis to ensure that it is safely kept just in case of anything.  In case the company’s performance does not suit the clients needs before 90 days are over, there is a money back guarantee by the company to refund unsatisfied clients. Clients are offered a guaranteed network up time of up to 99.9% which ensures that clients websites are running throughout.

Customers are able to ask for help 24/7 by phone, calling their toll-free phone number, via live chat, emails or community forum. Are you a ‘do it your self’ person? Their knowledge base is right for you; here you can find out how to get started with your hosting account, learn from video tutorials and improve your webmaster skills.

Reliability

The company’s reliability can only be described as awesome. Their clients get extraordinary customer and technical support from the customer care team round the clock, which ensures that their clients needs are adequately looked after. More so, their network up-time statistics are great. In short, the company’s servers rarely ever collapse, they are always up and thus very reliable. Clients furthermore get daily data back ups which help protect their information better.

Customer service

Clients of Inmotion web hosting company are entitled to rounded the clock U.S based support and more over have access to a toll free number that they can use to reach the customer care desk. The customer care desk is available 24/7 regardless of what day of the year it is.The customers are more over entitled to a 90 day money back guarantee in case they are unsatisfied with the services offered.

3. HostV

HostV web hosting company was founded in 2007 and was part of the Cirtex Corp which was started back in 2003. HostV prides itself in employing the most experienced staff in the industry and offering quality hosting services along with outstanding customer care. These are just but a few of the reasons why the company has grown to become a leader in offering VPS hosting services and dedicated server hosting services. The company operates from two very well equipped data centers in the U.S, one in New Jersey and the other in Chicago.

HostV web hosting company is held in high esteem when it comes to expert staff, as they employ only the best and the most experienced in the industry. On top of that they are known to use only the latest technologies in their hosting services thus powerful and high quality hosting services. They are also seen as among the leaders in offering VPS and dedicated server hosting.

Features

The company offers dedicated server hosting services along with VPS hosting services and for both, the company offers clients three basic hosting plans that they can choose from, the Z 1 hosting plan, Z 2 hosting plan and the Z 3 hosting plan. Some of the features of their Virtual private servers include: Full Root or rather administrator access, the use of powerful Quad Core Nodes and are powered by Virtuozzo with 16 Linux distro and better yet they are well equipped with a variety of features to suit the various needs of clients. On top of that, all software comes readily installed and is updated and configured to the suit clients needs. Their dedicated servers also come with some features that set them apart and make them among the best in the industry and these are the fact that they run on a Linux CentOs, use the world renowned c Panel control panel and on top of that allow for Full Root administrator access and better yet they come with independent servers and services. HostV’s hosting services further come ready with all the latest technologies in the industry from programming languages such as Ruby, Perl, Python, CGI,PHP, MySQL, FFMpeg, Red5,SSH, SFTP, SSL, FTP, POP3, Imap, Smtp, Web-mail along with the option of choosing between two control panels: the cPanel  and the WHM and so much more.

Performance

The hosting services at HostV web hosting company are quite reliable considering that they operate at a fairly good hosting speed and are full of various features to suit the varying client needs. The company also offers a guaranteed network up time of 99.9% along with an expert team of engineers with experience to look into the various needs of their clients. They employ the use of powerful servers to ensure that their clients get the speed, power and quality that they are looking for.

Reliability

A network up time of 99.9% ensures that the clients of the company have their web sites online throughout, regardless of what time of day or night it is. They also show fairly good hosting speeds and great customer and technical support.

Customer service

HostV has a very dedicated customer care desk that can be reached round the clock, all through the day and night to cater for the needs of their clients. The technical team of experts is also very responsive and available to cater for technical issues that may be curbing their clients.

4. SingleHop

The Singlehop web hosting company was founded back in the year and is based in Chicago. The company is among the industry leaders when it comes to offering hosting services. It offers a variety of services ranging from dedicated server hosting, cloud computing services, managed hosting and so much more. The company has been steadily growing at a very fast rate since its inception back in the year 2006 and has been able to maintain a portion of the market share even in an industry that is swamped with companies. The company is an industry leader in offering cloud computing services to clients from all over the world and thus competes with the giants in the web hosting industry.

Single Hop has created a reputation in the web hosting industry as the fastest growing hosting company that offers great hosting services. On top of that, the company uses powerful state of the art technology equipment to power their hosting services. Great up time statistics and outstanding customer care are some of its strong points.

Features

Single Hop offers cloud hosting that comes with 25GB of space, unlimited e-mail accounts, a 99.9% network up time guarantee and 3000 GB of bandwidth for only $149 each month. They use a self created control panel known as LEAP that provides a uniform platform for the deployment and management of the cloud infrastructure. The company more over has come up with an Ajax platform that allows clients to open a number of windows simultaneously to control new tasks from restarting the servers to checking with the bandwidth and graphs and so forth. The company offers their clients a 30 % discount coupon and more so provides 24/7 customer care support via live ticket and telephone support in less than 15 minutes. Some of the other features that the company has to offer include the use of powerful SATA  disks, their servers are either single core, dual core or quad core.

Performance

The Single Hop web hosting company has very good features and uses the latest and state of the art equipment in their data centers to ensure that clients get the best, powerful and speedy hosting services available in the industry. More so the company offers an undisputed network up time of up to 99.9% which ensures that their servers are never off line.

Reliability

Single Hop web hosting company uses state of the art technology and leaves nothing to question in terms of powerful, speedy and feature rich hosting services which form the basis of a dependable we host. On top of that, their customer care and technical desk are always at the clients disposal in order to cater for their needs.

Customer service

Single Hop’s customer care desk and technical support team are at the clients disposal all day and night to look after the needs of their clients. They are more very responsive to client queries and can be reached throughout the day and night. The technical team is made up of experts in the industry and thus the clients are well catered for.

Dedicated vs Managed vs Colocation Web Server Hosting Services

Dedicated vs Managed vs Colocation Web Server Hosting Services

Which form of web server hosting service to choose: Dedicated, Managed or Colocation? The answer of this question is very difficult and it totally lies upon your business need. In this article, we will compare Dedicated, Managed and Colocation Web Server Hosting Services in terms of their cost, flexibility, uptime, reliability, storage space, bandwidth, software and hardware requirements etc. 

What is Managed Web Server Hosting?

Managed Web Server hosting means that the hosting provider will manage everything that is required to give you an online presence for your website - the hardware (web server and networking equipment), software (web server and email software, site creation software), the internet backbone connection, maintenance, upgrades, backups, and so on. Once signed up, all you have to do is to create your web pages, set up your email boxes, and order any other additional services you want.

What is Dedicated Web Server Hosting?

As with managed hosting, your provider owns and manages the hardware, and takes care of all the infrastructure details (networking and internet connectivity), backups and maintenance. But in this case, the entire server is dedicated for just your use. Typically, the software installed on the server will allow you to host more than one website, and you are allowed full control over how the server itself functions, which is NOT the case with managed accounts. Your IT team can manage all the software and hardware installations.

Dedicated servers are leased on a monthly or yearly basis. The most common use for a dedicated server is for Web services. Dedicated server offerings are typically limited to server configurations that are popular and sell quickly as most providers don't want to stock server inventory for long periods of time. Most dedicated server providers offer very low end equipment that is not backed by any type of SLA. The service is a best effort service. Additionally, dedicated servers are usually provided as an unmanaged service. This means you are responsible for managing all aspects of the server. If you need additional management assistance, additional fees will be incurred. Businesses that host multiple Web sites are excellent candidates for dedicated servers. Be aware that few if any low priced dedicated server solutions come with any guarantee. If your business and your clients expect a high degree of uptime assurance, a colocated solution will be better in the long run.

What is Colocation Web Server Hosting?

Businesses who colocate use their own equipment. The equipment is sent to the colocation provider's facility, installed and typically not touched by the provider unless there is an issue that requires immediate intervention or unless the business has negotiated a management agreement with the provider. Equipment is typically owned by the business that is securing colocation services. In addition, software licenses are owned by the business that owns the equipment. Colocation gives your business the flexibility to plan for growth, to incorporate mirroring, load balancing and other options that are not available on a leased basis.

Comparison between Managed, Dedicated and Colocation Web Server Hosting

Although it is less expensive to lease a dedicated server, managed hosting provides extra features and services that make it a valuable investment. For instance, it can greatly reduce the resources required to power your ecommerce website. With a managed hosting, you will not require an IT staff to run the server and you will not have to buy the hardware required  for the server infrastructure as the host provides the hardware and you can choose your needed software applications. As well as saving on operating costs, you will save on the office space that would normally be required to maintain the physical equipment.

With a dedicated server, you have more freedom and control over your server, however, this means it will be a 24/7 job to maintain the server, including its security. With a managed hosting solution, you will have the time to expand your website instead focusing on the technical administration and monitoring. You also save time because the host takes care of administering the server 24/7 allowing you to focus on growing your business. It is a cost efficient and trouble-free way to host a website and you can be assured of effective security. As well, you do not have to have a fully managed hosting service as there are partially managed hosting solutions available so you can have the control you need.

Why Choose Colocation Hosting?

There are many, many factors that will go into deciding which solution (Colocation, Dedicated and Managed Hosting) makes the most sense for you, making it nearly impossible to employ a simple 'checklist' approach. But, there are some major considerations which can get you going in the right direction, as follows.

YOU NEED ROBUST OR CUSTOM HARDWARE AND/OR LOTS OF BANDWIDTH. 

A big limitation of Managed Hosting is that your provider will typically select the hardware and software that you get, though they may give you some choices as to the 'class' of product. If you only wish to host a simple home page, almost any basic server setup will do. But if you need to host database applications, audio/video streaming, websites like search engines and portals which generate lots of traffic, online applications, or anything else that requires lots of bandwidth or hardware resources, typical managed solutions are likely to come up short. With Colocation, YOU are in control and can implement the hardware and software that will give you the most bang for your buck - and you can get it from the vendor of your choice. While the initial entry cost for a Colocation plan can be high as compared to a simple managed plan, you'll generally find that, when dealing in large amounts of bandwidth, you'll get a better deal with Colocation.

YOU NEED TO SET UP SERVER CLUSTERS, LOAD BALANCING, REDUNDANT HARDWARE, ETC. 

These kinds of things are beyond the realm of the typical Managed Hosting provider. They have a cookie-cutter approach, and can host thousands of home pages cheaply, but enterprise-class stuff like this is usually too exotic for them. Colocation allows you to use multiple servers, dedicated internet appliances (such as firewalls, load balancers, etc) and custom devices, and to interconnect these as you see fit, even creating your own mini-network, which you then uplink to the public internet using the interface provided by your Colocation vendor. 

YOU NEED TO HOST CONTENT OR SEVICES NOT ALLOWED BY MOST MANAGED HOSTING PROVIDERS. 

It is not uncommon for Managed Hosting providers to place restrictions on the types of content and services they will let you host. Many will not allow any adult content, or hosting of IRC channels, for instance. On the other hand, Colocation service providers generally will allow any content or service, as long as it's legal.

YOU NEED A DEDICATED TELCO LINE TO YOUR SERVER(S). 

If you simply want a dedicated line for remote control or monitoring, or you are setting up a VoIP server, a VPN or some other special networking application, a Colocation provider - especially one who uses a carrier-neutral facility (meaning that the facility is available for service from all telcos), regularly does this and will be able to accommodate you.

YOU WANT FREEDOM FROM ARBITRARY OR COSTLY LIMITS. 

As you may have gleaned at this point, Managed Hosting providers will typically impose a range of limits on your service. They may seem insignificant at first, but when you find yourself bumping up against limits on the number of domains you can host, types of services or content you can use, processor overhead available to you, IP addresses available to you, etc, things can get frustrating - and if these limits can be lifted, you will pay for the privilege! Colocation typically imposes no such limits - you will pay more if your power/cabinet space or bandwidth usage increases, but you will enjoy 'bulk rates' that will become even more cost-effective as you grow.

YOU WANT/NEED TO BE IN CONTROL. 

There could be a thousand reasons why, but the bottom line is that YOU want to be in the driver's seat of your Internet presence project. Colocation puts you there.

Friday, January 10, 2014

ReportBuilder 15 and Delphi XE4: Report Objects

ReportBuilder 15 and Delphi XE4: Report Objects

I am using ReportBuilder 15 into Delphi XE4. ReportBuilder is a reporting tool which is used to print reports in Delphi applications. I just came across various Report Objects like TppDBText, TppDBImage, TppDBBarCode, TppDBCalc, TppDetailBand, TppFooterBand, TppHeaderBand, TppGroup, TppImage, TppLabel, TppLine, TppMemo, TppRegion, TppShape, TppSubReport, TppTitleBand, TppSummaryBand and TppSystemVariable. Lets try to understand all these Report Objects of ReportBuilder 15.

1. TppDBText

The TppDBText component is a data-aware report control that is used to print text from a database field. The database field that is printed is the value of the DataField property. 

To avoid printing the same data on consecutive detail lines set the SuppressRepeatedValues property to true. When SuppressRepeatedValues is set to True you can enable the field value to reprint on the first detail line of a new page by setting the ReprintOnSubsequent property to True.

Use the DisplayFormat property to control how the text is formatted. 

How the text of the caption aligns within the label is determined by the value of the Alignment property. 

You can have the control resize automatically to fit a changing caption if you set the AutoSize property to True. 

Set the WordWrap property to True if you the want the text to wrap rather than be truncated to fit inside the control.

2. TppDBImage

The TppDBImage component is a data-aware report control that is used to print a graphical image stored in a database field, such as a BLOB field. The image that is printed is determined by the value of the DataField property. 

Set the Stretch property to True if you want to scale the picture to fit inside the report control.

3. TppDBBarCode

Use this object to print bar codes on your report for numeric data.  All data fields will use the TppDBText object.

4. TppDBCalc

Used for simple database calculations (Sum, Min, Max, Count and Average). The value can be reset when a group breaks using the ResetGroup property.

The TppDBCalc component is a data-aware report component used to perform common report calculations and print the resulting value. The calculation is performed based on the value of the field specified in DataField Use the DBCalcType property to indicate the necessary calculation.

Calculations such as group totals are available through ResetGroup property. Each time the field value for the Reset Group changes (breaks), all associated DBCalc components are reset to zero.

Use the DisplayFormat property to control how the text is formatted.

Text alignment of the caption is determined by the value of the Alignment property. You can force the control to resize to fit a changing caption by setting the AutoSize property to True.

You can control the appearance of this component (Font, Alignment, etc.) at design-time by using the Format Bar of the Report Designer. The Format Bar also allows you to set the DataField property from a drop down list box at the far left. You can also set key properties by using the speed menu. To access the speed menu, position the mouse cursor over the component and click the right mouse button.

5. TppDetailBand

The detail band prints multiple times on the page until all page space is utilized or an ending condition is detected. The Detail Band is used for printing multiple records.

This object is created automatically along with the TppHeaderBand and the TppFooterBand.  

NOTE: TppSubReports may be placed ONLY in a Detail Band.

6. TppFooterBand

The Footer Band will print at the bottom of each page.

This object is created automatically along with the TppDetailBand and the TppHeaderBand.  

NOTE: If you need the last page of a report to contain additional information, create a TppSummaryBand.

7. TppHeaderBand

The Header Band will print at the top of each page. This object is created automatically along with the TppDetailBand and the TppFooterBand.  

8. TppGroup

Use this feature to section your report. Each group can start on its own page and you can force group items to stay together. 

9. TppImage

Use this object to put a picture on the report format. This is what you would use if you want to print a logo or something similar that wouldn't change.The image that is printed is determined by the value of the Picture Property. 

Set the AutoSize property to True if you want the report control to resize to accommodate the size of the picture. 

Set the Stretch property to True if you want to scale the picture to fit inside the component.

10. TppLabel

Use this object to put text directly into the report.  Whatever you put into the Caption property will print on the report.  If you want to put data from your program into the report you would use the TppDBText or TppDBBarCode object instead.

The TppLabel component is a report control that displays text on a report. Report labels are typically used for report titles, column headings, group headings, etc. The text of a label is the value of its Caption property. 

How the text of the caption aligns within the label is determined by the value of the Alignment property. 

You can have the label resize automatically to fit a changing caption if you set the AutoSize property to True. 

Set the WordWrap property to True if you the want the text to wrap rather than be truncated to fit inside the control.

You can control the appearance of this component (Font, Alignment, etc.) at design-time by using the Format Bar of the Report Designer. The Format Bar also allows you to set the Caption property from an edit box at the far left. You can also set key properties by using the speed menu. To access the speed menu, position the mouse cursor over the component and click the right mouse button.

11. TppLine

Use TppLine to print vertical or horizontal lines. The orientation of the line is determined by the value of the Position property. 

Use the Style property to control whether a single or double line is printed. 

The Pen property is used to control the line's color and width. 

Set the StretchWithBand property to True if you want the Height of the line to stretch as the band stretches (this only occurs when a memo component is stretching and the band PrintHeight property has been set to phDynamic).

The TppLine component is very useful for giving reports a distinctive, professional look. Double Style lines are great for underscoring report totals.

Use the Report Designer's Format Bar to set the Position property and to BringToFront or SendToBack. 

Use the Graphics Palette to set the Pen Color (PC) and Pen.Width. To access the speed menu for this component, position your mouse cursor over the component and click the right mouse button.

Use this object to draw a line on the report.  This would generally be used to put lines above totals, between values, etc.

12. TppMemo

Use this object to put a large amount of text directly into the report. Whatever you put into the Lines property will print on the report. If you want to put data from your program into the report you would use the TppDBText or TppDBBarCode object instead.

The TppMemo component is a report control that prints multiple lines of text on a report. The text of a memo is the value of its Lines property. 

How the lines of text align within the memo is determined by the value of the Alignment property. 

The amount of space between the lines within the memo is determined by the value of the Leading property. 

You can enable the height of the memo to stretch automatically by setting Stretch to True and the parent Band PrintHeight property to phDynamic.

At design-time you can use the Report Designer's Format Bar to control the appearance of the report memo. Use the Object Inspector to set the value of the Lines property. Press the right mouse button to access a speed menu and set other key properties for this control.

13. TppRegion

Use the Region object to control whether items print or not and to give objects below the ability to move up if the region doesn't print. Generally you will put one or more TppDBText or TppLabel objects within a Region. Then, if you turn the Region off, none of the items within the region will print.

14. TppShape

Use this object to draw a shape on the report. This could be used to draw boxes around fields, etc.

15. TppSubReport

Use the SubReport object to create compound reports.  By placing one or more SubReports in a Detail Band (on any page), the program will look for a buffer that uses the same RB_NUM as the Tag property for that SubReport.  Any records waiting (they are created with the Output_Report_Data and Update_Report_Data commands) will be printed.  The Detail Band can contain a combination of text (TppLabel), objects (such as TppDBText) and SubReports.

16. TppTitleBand

This object is created automatically for all SubReports that you add to your Report Form.  The Title Band prints just once, when the SubReport starts.  Don't forget, the Header Band created on the main page will still print on every page.

17. TppSummaryBand

This object is created automatically for all SubReports that you add to your Report Form.  The Summary Band prints just once, at the end of the SubReport.  Don't forget, the Footer Band created on the main page will still print on every page.

18. TppSystemVariable

This is a specialized object that you can use to put date, time or page numbers on your report.

Thursday, January 9, 2014

ReportBuilder 15 and Delphi XE4: TppDBImage Component and its Properties

ReportBuilder 15 and Delphi XE4: TppDBImage Component and its Properties

The TppDBImage component is a data-aware report control that is used to print a graphical image stored in a database field, such as a BLOB field. The image that is printed is determined by the value of the DataField property. 

Properties of TppDBImage Component

AutoSize: If this is checked, the object will resize itself automatically, if the text that will print on the report grows too large for the size you specified at design time.

Center: Center the picture in the middle of the space provided. The default setting is checked.

DirectDraw: If you are having problems printing the object on your printer then check this property. It will use a different method of printing and may render the picture better.  The default setting is unchecked.

MaintainAspectRatio:The aspect ratio is the ratio of the width of a shape to its height.

Stretch: Set the Stretch property to True if you want to scale the picture to fit inside the report control.

DataField: Field of the database to be printed.

ShiftWithParent:

If you have a TppDBText object in a band with the WordWrap and AutoSize both checked and, if the band the object is placed on has it's PrintHeight property set to phDynamic, this property (ShiftWithParent) will control whether this object will print in the same relative location as you have it designed. 

For example, if you have a TppDBText object designed as a single line on the report form, and, another TppDBText object follows it, directly underneath.  Two possibilities could occur:

1.  If the ShiftWithParent property is not checked for the second TppDBText then it will print over the previous object.

2.  If the ShiftWithParent property is checked the second object will print directly under the first as you expected.

The default value is unchecked.

Transparent: If this property is checked, anything behind the object will be visible where the object has blank spaces.

Other basic properties are Font, Height, Left, Name, Visible, Width, Tag, Top etc.