.NET hosting for demo projects - c#

I am a Java programmer looking to learn .NET, particularly C# and F#, to improve my employability. Toward this goal I am creating a website which will have a few demo projects. My hope is to learn C#/F# and the .NET framework by creating this website and then have a finished product to self-advertise and to show potential employers.
What I need is a good host.
My priorities are cost, stability, and capability. I might be willing to pay up to around $10/mo, but I don't really want to pay more than $5/mo. Stability and performance have to be reasonable. I want access to all the commonly-used .NET tools (SQLServer, LINQ, C#, F#, VB, MVC, any other stuff I might reasonably need that I don't know about yet). Basically I don't really know what I want besides room for my projects to grow as my expertise grows.
EDIT: Some have expressed concern that I shouldn't pay for time before my project is ready-to go. However, my hope is to get it up in less than a month, so I'm not too worried about paying for time before that.

What time frame do you have? I would strongly suggest not purchasing hosting until you have your project ready to deploy, because you may waste a month or two of hosting money.
That said, I highly recommend DiscountASP. They stay on top of the MS stack really hard. I had ASP.NET MVC installed the day it was released, for example, and they have a lot of experience tweaking the environment to match your needs.
EDIT: To more clearly answer your question, ASP.NET, MVC, Linq, SQL Server 2005 or 2008 (choice), SQL Server Express, etc. are preinstalled. I know someone who runs F# code there as well, but I cannot say whether or not he requested it. I do know its not costing him extra.

I'm also just learning, and I'm using reliablesite.net for my asp.net projects. They have a coupon section that is real easy to overlook, will give you 80% off your first bill - so I signed up for a quarterly cost of around $30, just paying $6 for my first 3 months. Take a look, I think they may right up your alley.
As for discountasp.net, yeah, they are good, but the surcharge for MSSQL alone puts the cost around $20 a month to start, and then you are restricted to quarterly or annually bills - no monthly. Basically, $60 up front.
Edit: One of the major features that got me to sign on to this host, even after looking at tons of others, was the dedicated application pools. Wasn't something I saw everyone offering.

I second ReliableSite.Net
It is cheap and good. They even throw a free MS SQL 2005 database(1 GB- Extra DB costs $1) what other places charge $10/Month and give you less then 500MB of space.
I find Reliable does not nickle and dim you for every single thing and gives reasonable prices and have great coupons.
Like this coupon for 15% off for life: "aspforum"

My advice: If you can afford hosting a virtual machine in your own computer, or using a spare machine from a friend or relative, take it as your "development server". Learn and deploy there, and when you are satisfied with your work, go online. Then, if you can afford an internet connection 24/7 with a public IP addres, you can be your own host! Services like no-ip allow you to have a free domain re-directed to your own machine.

The honest answer is that you cannot do that for $10 or less. The .NET platform (with the exception of Mono) runs under licensed software and so that platform obviously costs more money for hosting companies than deployments of Linux based systems.

I second the DiscountAsp hosting service with Josh Jordan. i have used them for a number of projects and have several sites running with them currently. They're not as fancy as some other hosting providers but they are SOLID. (By fancy i mean some of the quick start bells and whistles such as web site templates.) Better yet, they feel like a developer's host. For example, i do a great deal of Sql Server work and i can connect from my own IDE from anywhere. Many hosts require you to use a custom, web-based IDE that does not work nearly as well as the MS client.
Get this: Have you ever known any other hosting service that has a "Account Cancellation" link on their site? Yes. These guys are so confident that they don't force you to go through hoops if you decide you want to opt out! That takes some brass b#lls! Better yet, they can back it up.

Do you have an extra box? Why not just host it yourself off your internet connection and use dyndns so you can use cnames to point your domain to your server?
(I'm not sure how common using F# is in ASP.Net... or if it's even possible.)

How about an Amazon EC2 virtual machine? Just fire it up when you need it, and pay only for the time its running.
Mono have a Visual Studio Plugin in the works, that will automatically start up an EC2 machine for you and start running/debugging your app.

I was thinking similarly too. I decided to open a blog site* to post my code, resume, and other related stuff as a career boosting tool. I tried to make it dev. oriented too.
As for .NET hosting, I've got a friend who uses GoDaddy for his website.
Other than setting up a Wordpress or other blogging software, I'd probably do what nairdaen suggested.

I haven't personally used F#, so I can't speak to that.
I like MochaHost. Some people have said that they have problems with them, but I have not run into any. Unlimited space and bandwidth (meaning that as long as you aren't impacting other users), unlimited domains,and they are IIS7 on Server 2008 with the 3.5 Framework. Those are for the "Mocha" level. You get a discount, depending on how long you prepay. If you go monthly, it is $12.95. A year puts it at $10.79/mo. You should be able to get by with the "Business" hosting, which is in your price range - even if going month to month.
You also have Parallels Plesk for managing your domain(s), which is a very nice plus. For kicking around personal projects, it should be fine. Anything more than that, though, and I would look at a virtualized option. Ultimately, you get what you pay for.

Tip: if you land on a nice provider, but which for some reason doesn't have ASP.NET MVC installed yet, you can still use MVC by deploying it yourself.

You can also try CrystalTech (recommended from the ALT.NET Yahoo group). Their intermediate plan is $16.95 per month with SQL Server or their Value plan is $7.95 per month with MySQL.
Also recommended by the same group (but for personal/low usage projects only) is MochaHost (same in the answer from joseph.ferris). Their Business plan lists at $4.95 per month.

I third ReliableSite.Net. Running a box at home would cost you more in power costs than a cheap shared hosting account.

Related

Membership Profile in .NET ASP, Is it fast to access or better to use alternatives?

What is everyones thoughts on using the built in ASP Membership Profile with Forms to retrieve user ID for web applications. I understand it makes accessing the user GUID very easy, but is retrieving that value from the SQL server every time a practical, fast option?
Would it be better to store it in say a cookie and if that cookie fails, then retrieve from the database? what are peoples thoughts on this?
Well I was just leaving this as a comment because I think your question is going to be flagged as too general but my comment is getting to long so here is an answer instead:
You concerns are a none issue in this day and age. I have never even used ASP.NET membership before but I intend to for a current project of mine even though I have a custom built light weight membership library that is mature and I have used for years, why? Because the ASP.NET membership is already in the project when I created it so it will be quicker to setup than importing my custom library and making tweaks and changes. Also, using ASP.NET Membership has Anti-forgery token for AJAX requests which is more advanced stuff than my library has for added security.
Passing GUIDS around is a non issue because even in lower bandwidth scenarios it is just not a big deal and obviously, in this day and age of cheap hardware, the increased memory and database storage compared to using an int, for example as an id, is just not even worth thinking about except on the level of conserving energy (server consumption, bandwidth consumption all eats a little energy right?)
The only problem with a guid is that it is less human readable and slightly more time consuming to copy and paste to query the database for a specific user to get information about the user or debug in sql server management studio but you get used to it in about 20 minutes. As far as guid type and passing guids around, it is just as easy as managing integers in C#.
So to sum, it is a non issue unless you our an ultimate tree hugger trying to give a couple minutes of extra heat to your great great great great great great grandchildren right before the next ice age.
It really depends on your needs.
For the very basic approach you could just use FormsAuthentification and How to implement
Basicaly its just to say if(isAuthenticated) SetAuthCookie and for logoff use SignOut
If your needs are a little bigger than that go and have a look at MembershipReboot
And look here for alittle background on why not to use MembershipProvider
is retrieving that value from the SQL server every time a practical, fast option?
No, it's entirely too slow to use in any project, that's why it's been part of ASP.NET for the last eight years or so and been used in tons of intranet and internet applications.
Do you have any actual concerns, then benchmark it. It depends on your site, database and server architecture. If performance really becomes an issue, you can build a custom provider on top of it that implements caching. Cookies have nothing to do with that.

Which RDBMS and development tool should I choose to re-write my character-based app?

I have a pawnshop CRUD app written 20 years ago with INFORMIX-SQL/SE (DOS) which is currently running on DOS 6.22 within Microsoft Virtual PC 2007 on Windows Vista. I would like to modernize this app with a GUI, SQL-based engine and retain its existing functionality. It doesn't require any networking or multi-user capability. I would prefer a product which is royalty-free.
I also would like to quickly re-write it with as little effort possible. Which tool would you recommend?
I'm debating whether to re-write my INFORMIX-SQL app with I4GL (character-based) or another Windows/GUI-based tool.
My app is very robust and has some incredible features which my users are very happy with. Only obstacle which is keeping me from effectively acheiving market penetration is, believe it, my app is char-based and I would like to duplicate the same functionality with a GUI. My feeling is that its quicker for a user to process a transaction with my char-based app vs. having to focus a cursor with a mouse, but cosmetics is hurting me!
I would like to know specific instances of limitations, bugs or drawbacks of using another development tool before I invest considerable amount of time evaling another product. Answers to this question could save me a lot of time and money!
If you visit www.frankcomputer.com you can view a video-demo of my pawnshop app. (CAVEAT: The website's in Spanish, use google translate to get a more-or-less decent translation of the text. Start the video at the two-minute mark, with 720p resolution and full-screen to best comprehend my app.)
If I were doing it, I would probably choose to write a WPF GUI in C# with a SQL Server Express backend database. An embedded database like SQLite might work as well. But the main reason I would choose that is because that's what I'm most familiar with. Someone else would likely choose something else...
I might also choose ASP.NET MVC and make it a web application if that were an option (you say that multi-user is not required, but I say it's not required yet).
Also, if you're not the one who's going to be developing it (i.e. you're going to hire someone to build it for you) then I would say that you should find the developer first and let them choose (or at least have a say in) the technology. If you choose the technology up-front then you're simply limiting the field of developers who'll be able to work with you and there's really not much point in that.
I'd recommend you use Python with a PostgreSQL backend. Now some will think this is overkill, but after watching your video and reading your site (I had to use a translator), I suspect the added flexibility is something you will truly enjoy by going this route.
The reasons I'd argue for this solution are:
Python and PostgreSQL are both great products with amazing communities when you need them.
Both products have a bright outlook in their development paths. Since you obviously spent a lot of time and effort tweaking SPACE, I'm betting you will do the same over the next 40 years. So, the tools you choose now need to be there for you as you continue your development cycle.
They are both free with friendly licenses.
Cross-platform support.
Scalability. You can use PostgreSQL installed locally and connect via socket or scale it all the way up to several servers using load balanced connection pooling.
Security.
Data integrity. This includes how easy it is to make your whole environment easy to backup and thus easy to restore in the event of a catastrophe.
Whatever tools you end up choosing. I wish you the best in this project. I can tell you are working on something you truly love and that is something more of us should strive for!!
Based upon your answers and your emphasis upon time to make the changes and that you don't seem to want to change the Application at all but it is being forced upon you by then you should certainly evaluate Genero from 4js.
This will allow you to utilise your existing code but provide a nicer looking front-end. You can also maintain a single codebase supporting both character and "Gui" clients.
Choose whatever language and technology is easiest for you. If you need DB access and a short lead time it sounds like Java or Visual Basic would be best. Both have plenty of free tools to get you started.
The top languages tags in StackOverflow are C# (by a long margin), then Java, PHP and DotNet, followed by C++ and Python. Some of that will be skewed by the Joel & Jeff origin of the site, but any of those is more than capable of the task. Personally, I'd go with Java or Python but I don't like being tied to the Microsoft stack.
wxWidgets and QT might be options for the GUI components.
Of the databases, mysql, SQL Server Express or Oracle Express Edition are all free and robust. SQLite is good enough for most single user applications though. I'd put this at the bottom of the 'importance' list. For small-scale single user apps, you should be able to chop and change DB platforms without much hassle. The biggest relevance would be in how you actually backup/copy/restore data in the event of disk failure or corruption.

Is the Windows dev environment worth the cost? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I recently made the move from Linux development to Windows development. And as much of a Linux enthusiast that I am, I have to say - C# is a beautiful language, Visual Studio is terrific, and now that I've bought myself a trackball my wrist has stopped hurting from using the mouse so much.
But there's one thing I can't get past: the cost. Windows 7, Visual Studio, SQL Server, Expression Blend, ViEmu, Telerik, MSDN - we're talking thousands for each developer on the project! You're definitely getting something for your money - my question is, is it worth it? [Not every developer needs all the aforementioned tools - but have you ever heard of anyone writing C# code without Visual Studio? I've worked on pretty large software projects in Linux without having to pay for any development tool whatsoever.]
Now obviously, if you're already a Windows shop, it doesn't pay to retrain all your developers. And if you're looking to develop a Windows desktop app, you just can't do that in Linux. But if you were starting a new web application project and could hire developers who are experts in whatever languages you want, would you still choose Windows as your development platform despite the high cost? And if yes, why?
UPDATE: I did not intend to start any arguments. And I gained some valuable insights from the answers/comments:
The cost of setting up a dev environment in Windows does not have to be so great.
The cost of the dev environment is really just a drop in the bucket when compared to the cost of the developers themselves. (This doesn't help a small startup or a freelance programmer, though).
Microsoft offers lots of express editions of Visual Studio and SQL Server that are free of charge and may even be used commercially. In programs like DreamSpark, students can download e.g. Visual Studio 2010 Professional (full edition!) for free, so it is not said that you need to pay hundreds of thousands to develop Windows applications.
Other IDEs like SharpDevelop are available for free, too, but they are not nearly as terrific as Visual Studio. However, even when using the express editions, one can be very productive.
The MSDN library is free of charge, too. I cannot say whether the Telerik controls justify their costs as I have never felt the need to use them.
The cost of the tools is tiny compared to what you spend on the developers themselves. For example, most of the tools you've mentioned are included in Visual Studio Professional with MSDN, which runs about $800/year.
The real question, then, is whether you get any benefit from that cost. That's harder to answer, and I suspect depends on your developers and what kind(s) of software you develop. As such, it's impossible to give a blanket answer. Nonetheless, from the employer's viewpoint there's hardly enough difference between the two to notice.
The cost might not be as high as you think (depending on a lot of factors). There is the BizSpark program, and there are also 'express' versions of Visual Studio, SQL Server, etc, available.
Taking Windows 7 cost a side, you can use Visual Studio Express, SQL Server Express to create your applications. Of course this version has less features than the "bigger" ones but has the compiler, IntelliSense and many other stuff that makes a solid option.
Since you mentioned Blend, I think you are interested working with WPF, I don't think the Mono alternative is completely mature.
I have been a full-time .NET/C# developer of desktop and web applications since 2002, and of the pricey items that you list, the only one that I have ever paid money for as a professional deveoper is Visual Studio.
The cost of a current version of Windows is virtually inseparable from the cost of a new PC. SQL Server Express is free and is absolutely sufficient for virtually all development-related database needs. Don't need or use Expression Blend. ViEmu? Not a chance I'd pay for something as awful as vi. I've been able to get by without every using anything from Telerik.
Buying a copy of Visual Studio is far from an extraordinary investment in tools when one considers the productivity gains.
Well it always depends on your projects specifics but to the extent that it doesn't no, probably not for a web app. There's plenty of people out there who can code HTML/CSS, Javascript, SQL and at least one of PHP, Python or Perl so devs should be reasonably abundant. There's a whole bunch of frameworks, libraries and free code for each and you can use them all in any combination you like for no dollars down, no dollars per month.
As far as IDEs go if you're considering hiring web and web app developers who are uncomfortable working outside an IDE you're probably looking in the wrong place for developers. If you can't live without an IDE then Eclipse is OK assuming you have some pretty well specced dev boxen but I have to say the best code ninjas I've encountered all use either emacs or vim!
Also it's nice to code on a system with unlimited virtual desktops and a proper command line. Having said that I hear MS have made some progress with these in the last couple of versions so they may be more aligned now. I'd be loath to start coding a big project on Windows without making sure there were good builds or equivalents of tail, grep, systemtap/dtrace etc available though.
Funnily enough though the last web app I had to do was mostly in Windows as it was Flash based. The flash IDE was pure pain but thankfully most of the donkeywork was in the classes so I got to use the lovely Notepad++ for the bulk of that, anyway that's not really relevant to our discussion on the worth of the MS toolchain so I'll move along!...
Top tip if you're developing on Windows after working on Linux make sure to install Kat-Mouse and an "Always-on-top" program like deskpins or you may quickly end up defenestrating your dev machine!
You're mixing two questions here.
If I was spec'ing a new project (for myself), would I go with the Windows platform?
As a target? Yes. As the development platoform? No.
If I was spec'ing a new project (for myself), would I choose C# as my language?
Yes. Most definitely. The Mono project has a great set of tools that you can use to build Desktop, Silverlight, and Web applications. The web apps run inside of Apache, so you get to stick with all the common Open Source tools.
If you do things right, you can even use Mono on Linux to target Windows clients for a Desktop application (using the available subset of Windows.Forms that Mono includes).
If I was spec'ing a new project (for a company) would I choose the Windows platform?
Yes. The productivity gained is worth the extra cost. Microsoft also has several programs like BizSpark that are targeted at reducing the entry cost to development on the Windows platform.
I think this is a great question! Mostly because you asked it without being judgmental. Here are some thoughts from me:
Visual Studio and all of the tools are quite good. It is quite expensive but there are programs from Microsoft which can help with those costs. For example, in a smaller shop you might consider a TechNet subscription. Or one of the many small business helper programs from Microsoft like BizSpark.
Many .Net developers you hire will ask for or require Visual Studio and for good reason! They have used it for years and they are comfortable with it. So be ready for that. Not everyone will be that way but most will be that way. They know their tools and they use their tools.
That being said c# and .Net development is still just text :) I personally use VIM for my .Net development because I felt that a lot of the tools in Visual Studio just got in my way. I have had some bumps with that, I still use Visual Studio some of the time, because it has something I need. This is a great resource I use: c# with Vim Blog posts
So I would say try it both ways and be open minded :) it's a great language and a lot of fun to try.
To answer this question, which is a worthy +1 from me, in recent years the Microsoft developers stack has reduced in cost with the advent of the Express editions since after Visual Studio 2003, we're talking about Visual Studio 2005, this is where the Express editions started appearing to increase penetration of the Visual Studio to a wider audience, using a bare bones version which gave the wider audience a much bigger appreciation of learning the Visual Studio environment and reflected in the professional trade.
Now you can subscribe to Dreamspark if you are a student and avail of the professional version provided your student id checks out. Likewise the same for businesses using the BizSpark programme for businesses who wants to roll out a Microsoft platform onto the internet.
Your question more or less focuses on the extras outside of Visual Studio, Note, I am not talking about MSDN (in fact, that is an extremely vital part to have as it is a gem of a minefield of knowledge, know hows etc - that is now freely available) which boils down to this - use only the tools to get the job done first! No point for a professional developer starting out on these extras as they hardly make a real difference, not alone that, hitting their wallet and bank account very hard which is all the more a futile exercise!
Those extras you're talking about here, those extras such as Telerik and so on, lets get one point straight, sure it may add a pretty face to your app, but who cares? As long as you use the Visual tools to draw up the interface, add event handlers, add logic, test it and debug it, you will realize that those extras are not really worth it, even the end-users are not going to care if it has a pretty eye candy of an interface, as long as the end-users gets the job done simply and efficiently.
Now, over the last few years we have seen Mono's strength grow and conforming to the .NET 2 standards, I am not a preacher for Mono, have seen it and tried it, sure you can splice up an app to use Mono running on Linux, perhaps a back-end that communicates with MySQL, that relays results to a simple Windows forms, let me emphasize the words, you as a developer would have the choice and freedom to do so. Perhaps, work on that as a part-time thing outside of working hours, to investigate and learn. Sure, WinForms is somewhat reasonable on Linux, but just do not rely on Win API calls as that will produce undefined and unexpected behaviour in the context of a GUI application, if its a pure WinForms with no DllImports, the chances are good that it will work under Mono.
Of course, you are not necessarily tied to the Visual Studio platform when there's SharpDevelop, MonoDevelop, Mono for Windows available at your disposal, you need to think long and hard and see if it's worth it at the end of it all, no harm, in using the Visual Studio Express edition to do so, or even use SharpDevelop either.
Put simply, investigate your choices as long as you use only the tools to get the job done!
I'm going to do my best to be objective here. Let's start off the with some background. I do some occasional VBA and VB Script work, but that is pretty rare. I haven't worked with the more recent MS dev stack, but worked with it a few years back. Since then I made the transition to working with PHP and Ruby on Rails primarily. I do it from Windows because that is what I am familiar with. I have talked to a TON of people who are doing stuff with Ruby on Rails and PHP over the last couple of years and one thing that strikes me as a pattern is the fact that it is rare that I encounter a C# or VB (.net) developers on the street. When I do it is usually someone who is not that good. Maybe this is a regional thing. Maybe .NET people live inside 9-5 developer caves and only come out at certain times of the year. I don't know why it is, but it is. The fact that .NET people, especially good ones, are hard to find is a cost that nobody on this thread has discussed yet. Someone did make mention to the fact that people who are dependent on IDE's for development might not be the best people out there which supports this somewhat random hypothesis.
Don't get me wrong - I'm not supporting PHP or Ruby on Rails as the end all be all. All I am saying here is that the people cost is a big one. If you are working with tools that are preferred by the people who are arguably not always the sharpest ones in town then the benefits of tools may be less relevant in general. If you have a larger team then the extra cost of the tool set might be better spent on a more competitive bonus or salary for people on the team. Again, this supports the idea that you want the best team you can get first.
All of this assumes you have a choice of what you are doing from the onset. If you don't then there are some really good tools put out there by the MS dev community that are very useful. There are also tools like VMWare Server that balance the Windows/Linux divide. A smart team armed with good tools will get the job done well.
Debates about the quality of the result aside, you'd have a much easier time filling the developer positions on a new startup with people who are used to working with VS as opposed to developers comfortable working in Linux.
The cost of getting a Windows development computer setup is not that great in the grand scheme of things. Say it costs $10,000 (probably too high)( to get all of the software compared to $0 for an open source setup (assuming the cost of the hardware is the same). I would say your choice would depend a lot more on the developers you could find. If your project manager is familiar with and prefers Windows, wouldn't you rather spend the extra forty or fifty thousand dollars (assuming a team of four or five) to get something he/she is comfortable with? Compared to their salaries and others costs of employment, $50K is not a lot. Obviously that would change if you didn't have the money to invest.
The cost of setting up a dev environment in Windows does not have
to be so great.
The cost of the dev environment is really just a drop in the bucket
when compared to the cost of the
developers themselves. (This doesn't
help a small startup or a freelance
programmer, though).
You are getting there, but I don't think you really have the picture yet:
*1 Visual Studio Express editions are free for commercial development. VS Express may be called "Express", but they are better IDEs than anything I have been able to find in the Open Source community (for my needs, at least). There are a lot of other free tools too, so you can work around several of the limits of the express editions (for instance, source control is not integrated, but it's just as easy to setup a Git repo in your project's folders)
If you want to keep working with open source IDEs for C# on Windows, you can use SharpDevelop or MonoDevelop (There is a windows version), but I find both of them to be inferior to the VS Express editions. (Haven't checked in a while though, things could have changed).
So in actual fact, setting up a basic Windows development environment is not cheap, it's free.
I am a regular guy working on small projects in C#. The Express editions filled my needs pretty well and I am now considering the full versions using BizSpark https://www.microsoft.com/BizSpark/Startup/Signup.aspx
*2 What you are missing here is BizSpark. BizSpark is Microsoft start-up initiative. If your start up is less than 3 years old, generating less that a million $ in revenue and privately held, Microsoft will give you downloads of a full Windows Development environment, including almost everything (VS Pro, all SQL versions, MSDN premium, Vista, XP, Windows Server, Ms office, SDKs...and they even throw in a bit of free tech support). This lasts 3 years. When you exit the program, you have to pay $100 and you get to keep everything, except for the subscriptions. (Also, the license for non dev products allows only for usage as part of the dev process, not for regular usage)
In other words, if you are a small start-up, you get everything and it will cost you $100 when you exit the program.
Developing for Windows is not an expensive proposition at all, and the tools are excellent. Microsoft may be a lot of things, but stupid isn't one of them. They know that their business depends mostly on the development's ecosystem and they have made it very easy for people to develop for Windows.

What considerations need to be made when transitioning an application to support?

I will be taking on the role of support for a complex application that is transitioning from the development team. This application is a sharepoint solution that connects to several (7) web services. The development team is rolling off almost immediately and will be available only for small questions.
I'm new to this role so I'm wondering what suggestions you have for me as I take on this large project. What are some considerations that should be made so that the transition to support is smooth and uninterupted?
I've been reading the documentation but I can already see some gaps that need to be filled. The applicaiton is very (perhaps overly) configurable and there is lots of injected code. Stepping through the code is about the only way I can gain an understanding of what is actually happening.
It sounds like you've already got your environment set up if you're able to debug the application, so that's the first thing I was going to suggest in a knowledge-transfer situation. Some general things that I would get from the developers before they depart:
A list of third-party components that the application uses, along with license information and website logins if applicable.
Access to every part of the environment that this thing runs on, both production and development. That means the source code management system, database server(s), etc. It sounds like you have some of these already but make sure you get access to absolutely everything.
If your development environment was given to you "as is" (i.e. you took it over from one of the departing developers, make sure you know how to rebuild it from scratch. They might have a document that describes the process of building a development box, but if not maybe you can get them to show you how to set up a fresh machine.
Three will go a long way towards this, but if setting up a server to run the application is different in any way from setting up a development environment, you'd want to know how so you can diagnose server configuration issues if they crop up, or even rebuild a server. Although this sort of thing may be someone else's responsibility depending on your organization.
Once you have those, you probably want to get some understanding of why the application does the things that it does. That will give you the context you need to understand support and enhancement requests when they come in.
Are the original developers the only source of this information, or are there business people who you will be working with after the developers leave? One of the first things I try to do when starting on an existing application that's new to me is to find someone who knows the business well and have them give me a high-level run-down of the application's purpose in life. From there you can go into more detail on individual components/features/whatever as needed. The business people may be a better source for this information than the developers are, so you may want to try them first.
Hopefully some of that helps.
If you're not the systems admin (as opposed to the SharePoint admin), develop an understanding with them of what tasks you are able to do and what you need of them.
This may include things like stopping and starting services (IIS, Timer Service, etc.) and filesystem and DB monitoring and maintenance. Getting this sorted out up front saves a lot of pain later.
If the sys admins don't have some understanding of SharePoint, educate them. They will need to know what the deal is with things like code deployments.
It's best not to feel my pain.

Morfik - suitability for medium-scale web enterprise applications

I'm investigating technologies with which to develop a medium-scale (up to 100 or 200 simultaneous users) database-driven web application, and someone suggested Morfik. However, outside of the Morfik company I can find practically zero community support - no active blogs, no tutorials, no videos, no books - and this is of some concern (especially when compared to C# / ASP.NET / nHibernate etc support). Deciding between Morfik (untried and not used widely AFAIK) and the other technologies I mentioned (tried, tested, used widely) is becoming a critical issue for my company.
Has anyone had success using Morfik in these kind of circumstances? What kind of performance did you achieve?
Being a Morfik user for the last 2-3 months, trying to do a quite large project. I totally understand your concern.
The community is small, Morfik developers though try to help you and answer almost all your questions. It was one of my concerns before purchasing it, but it's not a big deal actually.
However, it lacks documentation and tutorials. Yes, there is a chm help file, but outdated and lacks in many ways. Not enough examples, you should figure a lot of stuff on your own. But they say, it's Morfik team's one of the first priorities in the upcoming release to enhance the documentation.
We chose not to use Firebird as the db (Morfik supports it natively) and going with Postgresql over ODBC. There are issues to overcome there too. We had to dive in and modify (override) our own security wrapper for postgre etc. But overall, Morfik integrates with it quite fine. You should be prepared to small annoyances though.
We chose to go with Pascal version, as it is the major language the developers use. But, oh I hate Pascal so much :) It had been 10+ years last time I used Pascal and it can be really annoying with the quirky code editor of Morfik.. I miss VisualStudio, or even Notepad++ as editor!
Since we started our app, I see new components and examples released quite frequently. Morfik team invested on a separate team that develop addons for Morfik, which is a good thing.
So, in terms of support (not community but staff) you should not worry. It's still far from being a mature product but it does the job. Our relationship with Morfik is a love and hate one. I am quite sure our big project will be successfully completed with Morfik, and I can do small enterprise solutions with Morfik very (I mean very) fast. But I would also really think again to use Morfik if we do a big project like we are doing now.
I hope I make sense :)
You might try looking at www.morfikwatch.com which a blog dedicated to Morfik. There you will find links to a couple of Morfik user communities. You can then ask around.
We use Morfik for a variety of purposes, all intranet based. We are looking at the migration of all in-house corporate applications being refactored into morfik applications.
Morfik is a new product, and as such, the community is still growing. Although Morfik 1 has been around for awhile, Morfik 2 is the first version that makes it easy to develop plugins and other third party tools. Now there are small websites starting to appear that create plugins and support Morfik. (http://www.pannonrex.com/ for example).
Morfik is in it's infancy yet offers a solution to be found nowhere else. I would recommend it highly. Just give it time and the developer community will appear just as it did for Delphi and the rest.
best regards
Dalton Calford
Distributel Communications
I'm sorry, when I saw 100-200 simultaneous connections, I immediately thought you meant intranet. We average 300-450 concurrent users on our apps, so we do not consider it a internet based app until you look at a possible 5,000+ users.
The design criteria for such a system is very different than a system with under 1000 users.
When you approach such a system, you are looking at a cloud configuration. As our company is a telecommunications company, and we are required by law to meet 5-9's service for our customers, we use firebird in all our back end processes. Although we have used DB2, Oracle and other products in the past, Firebird has either been more reliable or outperformed the others.
With the about to be released Firebird 2.5 (now in rc 2 if you wish to play with it), you can use firebird as it's own middle tier, with one database connecting to multiple other databases to perform both DML and DDL actions. You can have one Firebird database that has no tables whatsoever, just stored procedures, views etc. That database can then surface the data from multiple sources without the client application knowing. As the connection can be dynamically built within the stored procedures, you can have the backend databases change as needed without changing any front end code. This allows you to load balance, have multiple web servers share a single cluster of databases etc.
So, I since Morfik supports Firebird intrinsically, I would say that yes, Morfik can scale well to a larger environment without trouble. As for Firebird support, it has one of the most active user communities on the web.
From the point of view of Morfik, morfik is a great way to generate a web based UI while leveraging your existing developer base without having to learn a series of new languages. But, it currently lets the developer use the tools for n-tier development without getting in the way. I like that. I do not want a tool that tries to be everything and in turn, does nothing well.
best regards
Dalton Calford
Distributel Communications
Something that I am very concerned about is 3rd party components. GWT has a fairly large collection of components. We make extensive use of data grids that need to be data aware and very rich, meaning it needs to be able to do grouping and sub groupings and master detail relationships.
You must also be able to create new groupings on the fly.
We also make use of pivot grids a lot, so we need them as well, and a quick google search doesn't show any components that can compare to what is already available in GWT.
It is a pity though, since the Morfik development environment seems very integrated. The GWT environment is a bit funny to me, since I am used to the Visual Studio and Delphi environments, so the way Eclipse work is a bit foreign to me, especially when adding new components to the different designers and editors in eclipse.
Morfik is quite limited web development environment for a very basic web development. Even if it gives some benefits in the very beginning in long term it will tie you up.
I worked with Morfik for two years, you can undoubtedly make applications fairly quickly for the management that has design and maintenance is literally 3 clicks, but when you want to add a little more robust functionality can become a pain of head, without counting the inconvenience that is to adjust the reports, has little documentation and the components are the majority of paid.
If you want an app in a short time and not very robust Morfik is indicated, if you want something more I do not recommend it.

Categories