Deployment is a term which is used for the installation/distribution of software.

Scenario:

ABC Inc has developed a solution to address the customer needs. Database production team is trying to establish a deployment strategy to address the issues they have faced in the past because of not having a process which could identify the considerations while deploying a solution and moreover the production team was not aware of that the deployment process must be tested prior then handing it over to the client. This ignorance caused into failures while clients tried to deploy the solution.

Solution:
In production environment Deployment often defines how the project will actually get to its final destination. Designing a Deployment strategy is a challenging task because unfortunately many projects experience failure when your client tries to actually install and use the application. Such a failure can be catastrophic, because production team has already spent a large amount of time and energy to create the software and the application can’t be used until properly deployed.

Every Deployment strategy must have proper deployment process and associated documentation. As Performing deployment is actually the task of DBA (database administrator). With a well-documented deployment strategy, developers will be able to perform deployments without the need for intervention from DBAs, which some companies do not allow one of the reasons to this is that DBAs has access to the whole system, I.e. they can access disk partition, drives and directories more easily then a developer.

Before building a deployment solution you should also look into the details of which Items would be needed by which tier if application is multi-tier in case. For example, application code, databases, database code, data, logins and other credentials, and additional components such as extended stored procedures which has an important role to play and must be deployed with data tier of application architecture.

If application is designed in a way that it will used among the users then credentials come into the picture, credentials are used for interacting with other systems and the database itself. Then it becomes the prime responsibility of the production team to emphasize on the need to validate that credentials are working as they are expected to be, because it can cause a disaster if wrong credentials (user name/pwd, permissions etc.) are used by a user while seeking information or accessing any other database.

Before you ship any application to the client and he/she continues with the deployment, it becomes very important that the production team have a test plan to test the deployment process thoroughly before shipping the solution to the client. This will ensure that all functionalities of application are working as they are expected. This will certainly help the client to have foolproof solution and will lead towards client satisfaction and no errors will be reported to the production team regarding deployment.

There are various techniques to deploy a database solution on to the client machine few of the common methods of deployment are by using detach/attach, backup/restore and scripting.

Scenario

ABC, Inc. wants to ensure that addressing and pricing information is synchronized between the central office and the branch offices. At present ABC Inc. requires a Service Broker solution, which will implement a process to address or handle the following events:

• Customer address information changes at the branch office. A stored procedure in the branch office database should write the changes to that database and then send a message (with the updated address information) to the central office database. A stored procedure in the central office database should receive the message, update that database, and then send a message (with the updated address information) to the other branch office databases.

• Item pricing information changes at the central office. A stored procedure in the central office database should write changes to that database and then send a message (with the updated item pricing information) to the branch office databases.

This solution can be designed by using the following steps:

Step-1: Designing a Service Broker Solution Architecture

Firstly, you need to design the architecture for a Service Broker solution for ABC Inc., and while designing the architecture you need to identify the Service Broker instances and conversations or dialogs to support your Service Broker solution.

Moving further, you must have identified the Service Broker instances, a service instance identifies helps to group of related conversations with a unique identifier and helps
to enable changes to customer information to be propagated between branch offices and the ABC, Inc. central office, and to enable changes to item prices to be propagated from the central office to the branch offices.

Then you would require to identify the conversations or dialogs, which provides two-way messaging to propagate changes between the databases at the central office and the branch office. The main purpose of having conversation or dialog is to provide an ordered sequence of events.

Step-2: Designing a Service Broker Solution

While designing Service Broker solution that meets the business requirements of ABC Inc.. You need to identify the services, queues, stored procedures, and data flow necessary to support your solution.

Identify the Service Broker services and queues needed to send data between the branch offices. Service Broker creates an identifier when it creates the service instance and then adds this identifier to subsequent messages that the client application identifies as a related conversation.

Service Broker sends messages to services; services store messages in queues. The service consumer can hold the message in a local queue if the service provider server is currently unavailable. Another solution to address ABC Inc’s problem is to have one dedicated queue for each branch office database, but this approach will only complicate the application. You would have to create a stored procedure that can distinguish between the types of messages and take the necessary action as appropriate. This approach will require extra processing and more complicated coding, both of which are unnecessary as the solution to the ABC Inc’s problem can be resolved by using one local queue.

Once data will be sent to the queue in the form of a message, Stored procedures will be required to update the customer and item information in each database, and keep the databases synchronized.

Step-3: Executing Service Broker Solution

Once solution has been created, you can execute the Script, once application starts running you can test it to check that it is working fine.

Here are over 400 differences which offer awesome features to increase your productivity during the development.

http://www.400plusdifferences.com/

Below mentioned is the 15 years old script, which was said by Microsoft officials.

Microsoft Announces Visual Basic at Windows World ’91 General-Purpose, High-Productivity Programming System for Microsoft Windows

ATLANTA — May 20, 1991 — Microsoft today announced Microsoft Visual Basic programming system at the Windows World ’91 industry trade show. Visual Basic is a graphical application development system for Microsoft Windows graphical environment version 3.0 that combines visual design tools with a powerful, general-purpose programming language and Windows .EXE compiler. It provides a simple solution to the complex task of creating real Windows-based software applications.

“We set out to create the fastest, easiest way to program for the Windows environment,” said Bill Gates, Microsoft founder and CEO. “My goal from the start was to make developing Windows applications as easy and natural as possible. We also wanted this tool to appeal to a broad spectrum of people interested in programming for Windows — from professional corporate programmers and consultants solving business problems to independent software vendors and casual programmers.”

Visual Basic programming system combines a rich, event-driven programming model with the world’s most widely used programming language in a tightly integrated package. General development for the Windows environment is faster than ever. The Visual Basic programming system provides visual user-interface design capabilities with powerful general-purpose programming tools, making it easy for any programmer to create compiled Windows .EXE files that can be freely distributed without run-time fees or royalties of any kind.

“This is the most important software product of the year, if not the decade,” said Steve Gibson, president of Gibson Research Inc. “It’s the ultimate intellectual tool. Thanks to Visual Basic, both casual and professional programmers can produce compelling and beautiful results. Now it’s easy to put together real Windows version 3.0 applications.”

“We needed to create an application that incorporated Microsoft Word for Windows and Microsoft Excel,” said Craig Ellis, senior programmer analyst, Reuters Information Systems. “Visual Basic was the tool to do this. It filled our needs, allowed us to develop a fast and effective application and cut our development time by more than half. It’s a fantastic product that allowed us to incorporate a family of Microsoft products into one application.”

The Visual Basic programming system can be used to develop any Windows-based application, including corporate business systems, tools and utilities, front ends to data (mainframe, server and local) or commercial Windows software products. It is also useful for integrating multiple Windows-based applications and for automating software testing through dynamic data exchange (DDE).

Visual Basic programming system provides visual design tools for creating the user interface components — windows and dialogs — of an application. A full set of Windows interface components (including command buttons, text fields, list boxes, pictures, drop-down menus and file system controls) are created visually, without writing any code. The forms engine for building the interface incorporates technology acquired from Cooper Software. A powerful, structured programming language is then used to add functionality to these interface components, responding to events that are automatically trapped by the system.

The Visual Basic language is a derivative of the Microsoft QuickBasicTM modern programming system, modified for the graphical environment and the event-driven programming language. It uses a threaded p-code incremental compiler and source-level debugging tools, including an interactive immediate window, in a tightly integrated system.

Extensibility

Support is provided for DDE, the mechanism for exchanging data with other Windows-based applications. The Visual Basic system also supports dynamic link libraries (DLLs), which allow the user to establish links with other Windows systems facilities and call the Windows API or routines written in other languages and compiled into DLLs. The control set itself can be extended by developers using C and the Windows SDK and the Microsoft Visual Basic Control Development Kit, available separately. This extensibility will provide the ability to fully integrate new user interface components into the graphical design and code development environment. Examples could include multimedia, pen controls and data access.

Printed documentation and online Help provide step-by-step instructions for writing programs. The online Help system provides context-sensitive reference information and sample code that can be copied and pasted into a Visual Basic program. An icon library of approximately 400 designs and an icon editor written in Visual Basic language are also included. “The built-in help is excellent,” said Lee Perryman, deputy director of Associated Press Broadcast Services in Washington, D.C. “The debugging features are superb, and the controls are rich and feature-packed. Because there is almost no learning curve for users familiar with the Basic language, Visual Basic makes Windows programming a snap.”

Visual Basic programming system for Windows will be available in June 1991 for a suggested retail price* of $199. German and French versions are expected to ship in August, with other foreign language versions to follow.

The Visual Basic programming system runs in either the standard or enhanced mode of Microsoft Windows graphical environment version 3.0 or higher. The system requirements include a personal computer using 80286 processor or higher; hard disk; mouse; CGA, EGA, VGA, 8514, HerculesR or compatible display; MS-DOSR operating system version 3.1 or later and one or more megabyte of memory.

Timely delivery of key information is crucial in many business solutions. Notification Services is a Microsoft® SQL Server based notification platform. This platform allows developers to quickly create notification service applications and allow users to use these applications to receive personalized information in a timely fashion. It enables automated notification to subscribers by using multiple communication protocols and devices.

Note: Notification Services 2.0 was a downloadable component of SQL Server 2000, and was released in 2002. In SQL Server 2005, Notification Services is integrated into SQL Server.

Notification Services can be used for a wide variety of applications. Even for a consumerapplication which can be used by a brokerage firm to send stock and fund prices based on customer-defined criteria for example let the customer know when his/her stock reaches a certain price.

A Notification Service application is a software layer that sits between an information source (stock server) and the intended recipient (clients of brokerage firm) of that information.Notification Service applications consist of three basic components: events, subscriptions and notification. In a notification service application, events are things happening that customers want to be informed about. Subscriptions are how the users of a Notification Service application tell the system about the type of events that they are interested in. for example, in the stock prices of brokerage firm, a customer might create a subscription to be notified when the price of Microsoft stock climbs over a $150 per share. A Notification is essentially a message that will be sent to the end user that contains the information regarding the event that the user subscribed to. Notifications can be delivered in various formats to a variety of different target devices.

Notification Services supports high-volume applications with thousands of incoming events per minute, millions of subscriptions matched, and thousands of notifications delivered per minute and so the databases server where data is stored and processed, has to be a reliable database server.

SQL Server 2005 Database Engine stores data and processes subscriptions very reliably, with a variety of high-availability technologies, including failover clustering, log shipping, and transactional replication. The database server can be configured to automatically handle hardware failures.