Version 6 of the Java Platform is on track to be released next fall, we as a software company need to be aware of its new features and be prepared for them. So here are the top 10 things you need to know
Archive for October, 2006
Posted by archworx on October 19, 2006
IE7 is finally here.
Check out the IE7 team blog.
There are a number of issues you have to check concerning this new browser, I highly recommend going to the link in this post to make sure your web applications are ready.
I personally tested IE7 on my PC and it is working great, and I so far the issues I’ve seen are relatively minor. I think the major issue will be layout support, but I am sure the IE7 team is hard at work on this issue.
Posted by archworx on October 18, 2006
Encrypting sections in your Web.config file that contain sensitive information (such as Connection Strings) is a security precaution that any decent ASP.NET developer should take care of, and in .NET 2.0 it couldn’t be any easier. You can encrypt any section of your Web.config file from the command line using the aspnet_regiis command or programatically from within your code. To do it from the command line you can open your Visual Studio Command Prompt and type
aspnet_regiis -pe "NAME OF YOUR WEB.CONFIG SECTION" -app "/YOUR WEBSITE NAME ON IIS"
Voila….the configuration section you typed in the command now is now encrypted, here are screenshots of a ConnectionStrings Section in a web.config file after it has been encrypted.
If you prefer to encrypt a Web.config section programatically, you can do it through the following code:
Configuration config = Configuration.GetWebConfig
uration(Request.ApplicationPath); ConfigurationSection section = config.Sections["connectionStrings"]; section.ProtectSection ("DataProtectionConfigurationProvider"); config.Update();
You can use this technique if you don’t have full access to the Web Server.
References : http://www.developerfusion.co.uk/show/5263/
Posted by archworx on October 16, 2006
I am sure this is a problem a lot of people face each day.
When you try to connect to SQL 2005 remotely, you get an error message in you application that says:
“An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)”
The most probable cause of this problem is that your SQL Server is not configured for remote connections.
The solution to this problem is to apply the configuration settings outlined in this MSDN article.
N.B. when you configure the SQL 2005 Surface Area, make sure you choose “using both TCP/IP and Named Pipes”.
Posted by archworx on October 15, 2006
A very interesting article about good object oriented programming habits, I personally agree with the 5 habits the article presents and think they lead to better software. Software that is easier to understand and maintain.
What do you think? you think you can use any of these habits the next time you are coding?
Posted by archworx on October 11, 2006
In Googles latest attempt to produce a free office (in other words to outdo Microsoft), they have created a new link for people to use their office bundle (a wordprocessor and spreadsheet app) on the internet.
Lets see if people will like the idea of editing documents with an application on the Internet, and if Google will actually keep our data safe. I guess only time will tell.
Posted by archworx on October 11, 2006
I finally started working on my WCF (Windows Communication Foundation) workshop that I will hopefully present in the Cutting Edge Club on 7th Nov.
Here are some useful definitions:
1. What is WCF?
It is a unified programming model for building Service Oriented applications. Basically it is a ready made framework that helps the developer create a class/component without worrying about how other applications will communicate with this component.
2. How does WCF do this?
WCF separates the communication infrastructure from the business logic, by giving the developers a framework (set of classes) that allows them to expose their business classes with any supported protocol, or to write their own custom binding to support custom protocols.
3.What are the ABC’s fo a WCF Service ?
Address: Defines the Address of the service you want to expose.
Binding: Defines how people will consume this resource i.e. what protocol they will use to talk to this resource.
Contract: The service interface. This defines how people will call the service i.e. what are the methods? what are the parameters?
It is very important to stick to the interface when creating an application and the creator of the service has to make sure that the interface doesn’t change or the service consumers could have problems consuming the service, which is why the name contract is significant here.
4. Is a WCF service a fancy name for Web Service?
Actually, yes and no.
To be more precise, a Web Service is a type of WCF service that is hosted in IIS and communicates with consumers using HTTP. A WCF service is a super-set of that, it is any business class that is hosted as a service (can be hosted anywhere), and communicates with consumers with any protocol (the protocol is defined in a config file, you can even use multiple protocols).
5. How do I host a WCF service?
Well, you can host it in the pplication domain of any .NET application. Simply, you can use any application host (doesn’t have to be IIS), as long as it is a .NET application host. So far I have used a console application as a host for my WCF services.
Basically, A service is to a host as a DLL is to a Web or Windows application.
Well, thats just the start, stay tuned for some actual code writing very soon, and please comment.
Posted by archworx on October 10, 2006
I just got into a discussion on design document quality. The idea was on one side, the design doc should be spell and grammer checked first and when reviewed, we should refuse any document that has not been properly checked. I thought that this should be mainly a QA issue, since QA= Quality Assurance, then it is ensuring the quality of the design doc.
The other side was that QA only Assures adherence to processes and it should be some other role that assures this.
Anyway, that’s my 2 cents, what do you think?
Posted by archworx on October 10, 2006
As you will read in the blog posting below, MS is facing some compatibility issues between VS 2005 and Windows Vista, apparently, they have already release SP1 beta which is supposed to fix the problem. But from the post below, I’d weigh my options well before I develop an application for Windows Vista on VS 2005, at least increase the risk factor in the project plan.
Posted by archworx on October 9, 2006
Subversion is a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license.
Get all the details and features from http://subversion.tigris.org/
For my purposes I need to install subversion on a windows box and have the capability to view the contents of the repository online in a web browser, here are the steps that worked for me:
1. Download the latest version for windows, in my case 1.4 (svn-1.4.0-setup.exe) from the following location http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 , the download that includes setup in the same includes a friendly Installer.
2. Run the Windows Installer. The defaults are fine
3. If you want a pretty Win32 GUI, TortoiseSVN integrates nicely with the Windows Explorer. Note: TortoiseSVN is a separate project.
4. Using Tortoise, you can easily create your repository and import projects.
Now for the web view part, after trying several project to get this working with IIS, I found the easiest solution is to install Apache and have run on a different port, for my needs, having a different port is not an issue since I will be linking to this repository from an internal website.
To install Apache and the web view component follow the following steps:
1. Download Apache from http://httpd.apache.org/download.cgi (Use Apache 2.0.55, the newer version 2.2 doesn’t work with the subversion 1.4 modules)
2. Run the Windows Installer. The defaults are fine. When you reach the Server Information dialog, you’ll be prompted to choose between installing on port 80 as a service, or on port 8080 with manual startup. Choose the service option on port 80 (we will change the port in the next step).
3. Since we are working on a Windows server, you probably already have IIS running on port 80. So, we need to pick another for Apache. Open the file C:\Program Files\Apache Group\Apache2\conf\httpd.conf in notepad.exe. Do a find (ctrl+f) for the word “listen” until you fine the line: Listen 80, Change the 80 to 8080 (or whatever port you want).
4. Save http.conf and restart Apache to reflect the changes.
5. Test that Apache is running by going to http://localhost:8080/ (you should get the default Apache welcome screen).
Now its time to configure Subversion to run with Apache:
1. Copy the following files from Subversion_Home\bin\ to C:\Program Files\Apache Group\Apache2\modules\
2. Open C:\Program Files\Apache Group\Apache2\conf\httpd.conf
3. uncomment (by removing the # at the beginning of the line) the following 2 lines:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
4. Add the following 2 lines:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
5. Add the following to the bottom of the file
AuthName “Subversion repositories”
6. Create username/password for Apache directory
a. Use htpasswd.exe in the Apache2/bin directory to edit the password files.
b. Create a blank file called c:\somewhere_you_want\svn.pass
c. From a Dos window (make sure the path is correct), type the following htpasswd snv.pass svnuser
d. You’ll be prompted for a password. Enter whatever you want.
7. Restart Apache Again to load the configuration changes
8. Go to http://localhost:8080/svn/ to make sure everything is working.