jQuery Show Popup on Page Load

4 Feb 2014

.NET - Web Services Interview Questions

What is a "Web Service"?

A "Web Service" is a .NET component that replies to HTTP requests that are formatted using SOAP syntax. Web services are one of the cornerstones of the .NET initiative in that they allow a degree of interoperability among applications over the internet that was inconceivable before.

How are web services implemented in .NET?

Web services are implemented as HTTP Handlers that intercept requests to .asmx files.

What are the drawbacks of "Response Caching"?
If the method or accepts a wide range of values, response caching might be inefficient or even wasteful because a great deal of information might be stored in caching. If the method depends on other information not supplied in parameters (like user authentication or session data), it will be bypassed.
The method will be bypassed even if it needs to perform actions other than returning values (like writing to a log file)

How to overcome the limitations of response caching while providing an acceptable level of caching?

By using data caching (System.Web.Caching.Cach)

What are the protocols supported by web services built with ASP.NET to exchange data?

What are the limitations of using GET & POST to communicate with a web service?
It is less secured than SOAP.
It prevents the user from passing structures and objects as arguments
It prevents the user from passing ByRef arguments

How to make a class accessible as a web service?
-By making the class inherits from the System.Web.Services.WebService class
-By qualifying the class with the WebService attribute

 Inheriting from the WebService class is beneficiary in that it allows the class to access the ASP.NET context and other useful objects such as the session and application objects. On the other hand, qualifying the class with the WebService attribute allows for setting additional properties of the web service such as its description and namespace.
    public class TestService : System.Web.Services.WebService

How to make a method of a web service class accessible through the internet?

By qualifying the method with the WebMethod attribute.
    public string MethodName()

3 Feb 2014

Recommended Hardware and Software Specifications For Sql Server 2012

Microsoft has come out with a list of specifications needed to install and run SQL Server 2012.
You would need: 
  1. More than 3.6 gigabytes of free space on your hard drive.
  2. 64-bit:
    Intel Xeon (supported by Intel EM64T), AMD Athlon 64, AMD Opteron, or Intel Pentium IV (supported by EM64T with at least 2.0 GHz)
  3. 32-bit
    Compatible with Pentium III (at least 2.0 GHz)
  4. Recommended RAM: At least 2 gigabytes or whatever is the highest supported.
Software you need to install before installing SQL Server 2012
Other tips:
  1. Use NTFS file system.
    While SQL Server 2012 works on FAT32 systems, for this application it is not recommended.  You should also avoid compressed or mapped drives.
  2. Install the no-reboot package from Microsoft.
    This is typically bundled in with Windows 7 SP1, but you can download the package here: http://go.microsoft.com/fwlink/?LinkId=198092.

New Features of SQL Server 2012

1. AlwaysOn Availability Groups -- This feature takes database mirroring to a whole new level. With AlwaysOn, users will be able to fail over multiple databases in groups instead of individually. Also, secondary copies will be readable, and can be used for database backups. The big win is that your DR environment no longer needs to sit idle.
2. Windows Server Core Support -- If you don't know what Windows Server Core is, you may want to come up to speed before Windows 8 (MS is making a push back to the command line for server products). Core is the GUI-less version of Windows that uses DOS and PowerShell for user interaction. It has a much lower footprint (50% less memory and disk space utilization), requires fewer patches, and is more secure than the full install. Starting with SQL 2012, it is supported for SQL Server.
3. Columnstore Indexes -- This a cool new feature that is completely unique to SQL Server. They are special type of read-only index designed to be use with Data Warehouse queries. Basically, data is grouped and stored in a flat, compressed column index, greatly reducing I/O and memory utilization on large queries.
4. User-Defined Server Roles -- DBAs have always had the ability to create custom database role, but never server wide. For example, if the DBA wanted to give a development team read/write access to every database on a shared server, traditionally the only ways to do it were either manually, or using undocumented procedures. Neither of which were good solutions. Now, the DBA can create a role, which has read/write access on every DB on the server, or any other custom server wide role.
5. Enhanced Auditing Features -- Audit is now available in all editions of SQL Server. Additionally, users can define custom audit specifications to write custom events into the audit log. New filtering features give greater flexibility in choosing which events to write to the log.
6. BI Semantic Model -- This is replacing the Analysis Services Unified Dimensional Model (or cubes most people referred to them). It's a hybrid model that allows one data model will support all BI experiences in SQL Server. Additionally, this will allow for some really neat text infographics
7. Sequence Objects -- For those folks who have worked with Oracle, this has been a long requested feature. A sequence is just an object that is a counter -- a good example of it's use would be to increment values in a table, based a trigger. SQL has always had similar functionality with identity columns, but now this is a discrete object.
8. Enhanced PowerShell Support -- Windows and SQL Server admins should definitely start brushing up on their PowerShell scripting skills. Microsoft is driving a lot of development effort into instrumenting all of their server-based products with PowerShell. SQL 2008 gave DBAs some exposure to it, but there are many more in cmdlets in SQL 2012.
9. Distributed Replay -- Once again this is answer to a feature that Oracle released (Real Application Testing). However, and in my opinion where the real value proposition of SQL Server is, in Oracle it is a (very expensive) cost option to Enterprise Edition. With SQL, when you buy your licenses for Enterprise Edition, you get everything. Distributed replay allows you to capture a workload on a production server, and replay it on another machine. This way changes in underlying schemas, support packs, or hardware changes can be tested under production conditions.
10. PowerView -- You may have heard of this under the name "Project Crescent" it is a fairly powerful self-service BI toolkit that allows users to create mash ups of BI reports from all over the Enterprise.
11. SQL Azure Enhancements -- These don't really go directly with the release of SQL 2012, but Microsoft is making some key enhancements to SQL Azure. Reporting Services for Azure will be available, along with backup to the Windows Azure data store, which is a huge enhancement. The maximum size of an Azure database is now up to 150G. Also Azure data sync allows a better hybrid model of cloud and on-premise solutions
12. Big Data Support -- I saved the biggest for last, introduced at the PASS (Professional Association for SQL Server) conference last year, Microsoft announced a partnership with Hadoop provider Cloudera. One part of this involves MS releasing a ODBC driver for SQL Server that will run on a Linux platform. Additionally, Microsoft is building connectors for Hadoop, which is an extremely popular NoSQL platform. With this announcement, Microsoft has made a clear move into this very rapidly growing space.
SQL 2012 is a big step forward for Microsoft -- the company is positioning itself to be a leader in availability and in the growing area of big data. As a database professional, I look forward to using SQL 2012 to bring new solutions to my clients.