System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) at ftp_controls.Common_.Utility_.GetCustomRegPropertiesByUrl(String url) FTPOnline - Planning the Transition to SOA
Welcome Guest!
Create Account | Login
Locator+ Code:

FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

email article
printer friendly

Planning the Transition to SOA
This guide to SOA migrations will help you make sure that your company gets it right.
by Richard M. Marshall

Posted March 30, 2004

Someone in management must have decided to make the transition to SOA, or you wouldn't be working on a plan for the job. In an economic climate where every cent spent on IT is expected to pay back in dollars, that means this project is going to be subject to heavy scrutiny, so you should make sure you get it right.

SOAs are actually all about interfaces. Looking beyond the acronym-encrusted technologies that make them work, service-oriented architectures are about well-defined, well-structured interfaces. One side of the interface offers up a service, and the other side consumes that service. The difficult part is getting the two sides to agree what the service does. Multiply that effort by the number of services you expect to need and you can begin to assess the magnitude of the task.

Let's look at the process of identifying a good place to start in what is potentially a very large project.

Drawing the Line
So what are the corporate objectives behind the move to SOA? One could be reduced cost in integration. Others might be providing a platform for deep integration with customers, or a means of forcing suppliers into electronic delivery. Or possibly someone just wants to put SOA skills on their resume!

Whatever the real reason, you need to use it to help in the decision of what to tackle first. You need to be armed with this understanding because your first task is to figure out where to draw the line, by which I mean where are you going to put the interfaces? Where do you cut the connections between client apps and their servers? Generically you want to draw the line where there are as few services as possible. You want to maximize commonality and minimize definitions.

Here's an example of what I mean. Suppose your company has a warehouse management application. There are terminals on the floor that allow operatives to record movement of materials, and there is a thick-client for planning by warehouse managers.

We can clearly see that there are a number of services that the warehouse app offers up to the two clients. We can draw an imaginary line between the clients and the server and see how many messages, screens, or functions cross it. This gives us our first list of services. Figure 1 shows where some of those services fall.

Back to top

Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTPOnline Home