Public facing complex business apps on Sharepoint 2010 (or 2007) - silverlight

I would like to see some public-facing sites or complex business applications built on top of SHarepoint 2010 (or at least 2007). They can either use Sharepoint's look'n'feel or have a completely custom one.
If they're using Silverlight in heavy doses even better.

Try http://www.topsharepoint.com/ - they supposedly keep a list of the best SP sites they have come across.
Also MS site has case studies - there are a lot of "internal" ones described so no example or site but some of them have links.
http://sharepoint.microsoft.com/en-us/customers/Pages/default.aspx?Edition=SharePoint%202010
(That is only the 2010 page but you can get to the 2007 ones as well).

Check academic site, it's made with Sharepoint 2007. Their application system, and career portal also runs on Sharepoint as well as the their academic intranet, which creates course sites with student forums, asignments etc. using enrollment data from their CRM.

Related

Web performance isn't up to snuff... what's the new "Microsoft Way"?

Looking for opinions. I'm working on a mid-sized 3-tier ASP.NET project (.NET 2.0 and Visual Studio 2005) with an Oracle on Unix back-end, some beefy MS web servers, and IE browser clients. Performance is pretty bad, and users feel the UI looks outdated as well. We may have an opportunity soon to redesign and rewrite the entire application from the ground up, and I'm wondering what the current or recommended MS platform is.
I was involved with WPF and Silverlight on a different contract when MS downgraded support for Silverlight in favor of "HTML5" for Windows 8 and Windows Phone a few years back. I'm not trying to start a flame war between how long Silverlight or even WPF will be around, but I'm looking for some modern alternatives as of today, April 2013. The one requirement we can't get around is that we can't install something on each and every user PC throughout the client organization.
My own background is in WinForms and C# more so than any of the above, but everywhere I turn it seems developing any new LOB apps in WinForms isn't done much anymore.
Whatever happened to the Application Server platform and apps run thru Remote Desktop? Does it still make sense to develop desktop apps and deploy to app servers and just put a shortcut on each user's desktop, or even map a drive letter like we used to do back in the day?
Your $0.02 would be appreciated!
I would definitely consider doing it as an internal web site.
The UI would be HTML5 using the "single page application" (SPA) for each function you need. Each function would be on a page that is loaded when the user needs it. The javascript/ajax code in the browser would interact with the web server which feeds back the raw data needed to be displayed.
Using Active Directory, you can have full security and customization per person.
If you need lots of interactivity, then you'd also want to consider including SignalR in the mix. (That is one of the "new" MS tools!)
If you can't install anything in the end users' PCs then go ASP.Net. Anything else will require installation.
You can make a web application more appealing to the users by having a good designer and a LOT of javascript. Not remotely comparable to the power and beauty of WPF, but that's your best bet.
WPF is part of the .Net framework and will not run without it installed.
Silverlight could also be an option, but it still requires an installation (although minimal, 4 MB, less-than-2 minute install), but an install anyways.
WinRT only works in Windows 8. It's not supported in lower versions (Vista, XP, 7). So I don't think it's an option as of now (unless all your users have Windows 8, of course).
And no, winforms is not an option. It's also part of the .Net framework, and even if you could get it installed, it doesn't make any sense having to deal with the limitations of it, having many much much better technologies at your disposal.

Alternative for Access+SQL Server for enterprise projects

We're a small software company, developing projects for manufacturing facilities about analysis, traceability, reporting etc. We're using Access for front end, SQL Server for back end. We've quite big customers too and our company is growing. So far it is working fine but I wonder should we move to more influential technologies, such as web based solutions. What do you think about the future of Access?
Well, keep in mind that Access now has a web option. This option works with SharePoint and the new upcoming office 365. Here is a video of an Access application and note how at the half way point I switch to running the application 100% in a web browser. No ActiveX or Silverlight is required. I even tested and run the application on my iPad.
Video here:
http://www.youtube.com/watch?v=AU4mH0jPntI
And Access 2010 also has baked in support for the Azure (cloud) edition of SQL server.
So, we have web based options, cloud based options, and there been significant investments into Access for 2010.
You could have a look at these questions:
MS Access as Enterprise Software?
and
What are the appropriate uses for MS Access?
Here we have a central SQL Server database, with both an MS-Access and a Web client interface. MS-Access is history (we started it 5 years ago) and Web is trendy (less than one year old). I must admit that MS Access is still very very efficient and cheap, once you have resolved some MS access specific problems, to which you might find answers here:
Working with multiple programmers on MS Access
How do you use version control with Access development?
Best way to test a MS Access application?
MS-Access, VBA and error handling
You can always use VB.NET Express. It's free, and Microsoft's licensing should still allow you to sell apps created with it (they did with Express 2005).
UPDATE: Access 2013 has better support for web apps than previous versions, and the apps use SQL Server or SQL Azure under the hood by default. So be sure to thoroughly evaluate the latest version of Access before concluding that you need something else.
A very good alternative to Access with similar features is Lightswitch. Here's a quote from MSDN:
Visual Studio LightSwitch is a development environment designed to simplify and shorten the development of businesses applications and data services. LightSwitch makes it easy to create data-centric business applications that can consume a variety of data sources and create clients that can run on a variety of devices.
While Access now has a web option as #AlbertDKallal mentioned (and which is still worth considering as one option), creating an HTML 5 app is the whole focus of Lightswitch. (Note: the original version of Lightswitch required Silverlight, but the newer versions create HTML5 apps that don't require any plugins.) The app will also be more extensible, since it's a .NET app, and for things that require custom programming you can program in C# or Visual Basic rather than VBA.
I should mention at this point that I haven't actually tried Lightswitch yet (!) - I'm currently evaluating it and these are the features that look attractive to me compared to Access. If anyone reading this in the future is curious about what my experience with it was like, feel free to write a comment to remind me.
For some introductory info, see these links:
Showcase Video
Is Visual Studio LightSwitch the New Access?
(Note that this article is about a the original version of LightSwitch, not the latest version.)
And...for a completely different cloud-based option, check out:
https://www.parasql.com/

Is silverlight the right choice of technology for enterprise applications after Microsoft's comments in PDC 2010

We were beginning to start on an enterprise application using silverlight.
However after reading this post we doubt whether it is the right choice going forward.
The post says that, according to
Microsoft's declaration in PDC 2010,
Microsoft has changed their strategy
regarding silverlight and they no
longer view it as their technology to
deliver cross platform applications.
Instead they are targeting silverlight
as their development platform for
Windows phone 7.
Is this correct? Should we still continue with silverlight or go back to ASP.NET WebForms\MVC?
The Scope of the application is basically intranet with Windows 2008 servers and Windows XP and Windows 7 clients. However a subset of functionality needs to be available to the external users over the internet. There we cannot have any restrictions on what OS users can use.
based on the info you gave, I can't conclude whether silverlight is the way to go. But what I do know is that a number of Microsofties wrote some blogposts about the things said about Silverlight on the pdc. For example John Papa, Bob Muglia and Scott Guthrie.
Update about the scope
I think you already gave the answer when you described the scope of the application. A part of the application will be available to external users and you cannot have any restriction about the OS they are running. With that requirement I think Silverlight is not the best way to go. Not because the rumours about its future but because of its platform indepency. What are the reasons not to go for a ASP.NET/web solution? Silverlight doesn't work on each OS whereas plain HTML will work everywhere. (ok you need a descent browser)
Although for a good advice I'd need more information about the application.
Basically the question you have to ask yourself is this: do you need your application to be used on every platform, i.e. Windows, Mac, Linux, misc. flavors of Unix, IPhone and other mobile platforms?
If that's the case, then a web based solution is the way to go.
If Windows, Mac and partially Linux is enough, then save yourself and your team a lot of pain and use Silverlight.
In my opinion support for mobile clients is the key factor in your decision.
For sure the right platform for Intranet, Enterprice applications Is Silverlight. It is
stable, performs extreamly well, the environment and the development time is huuge less than web application development, the end User Experience is much better and so on and so forth... Once you want to show part of the system out the the intranet - just create some specific target modules that will address the needed audince. You won't have the universal "Reachfull" solution, that will target everyhing, you'll always need mobile versions or other devices and so on. But once you've built your project the right way with Services (same services that the Silverlight app will consume), it'll be easy job to consume them with new UI.
Hope you will choose Silverlihgt.
Silverlight is a great technology, but the Microsoft does not develop it anymore. So as a technology is a great decision. But if you want to make a Silverlight app usable on a NOT supported platform (e.g. Android or iPhone) you have to use 3rd party services. For example http://sl2html.com

What is the cost of coding and deploying asp.net MVC or stackoverflow.com, ASP.NET MVC VS struts,spring

I'm wondering what the cost is in tools to work with and deploy a website like stackoverflow with asp.net mvc.
I have just checked and it seems like visual studio professional has suddenly got a lot cheaper, infact almost too good to be true price.
But if they are working with SQL enterprise, the cost of this seems around £10,000 for the enterprise edition?
Or have things with 2008 changed dramatically, so that you can infact deploy something like the workgroup edition for a production environment, and take advantage of the 16GB of Ram that is spoken about on the podcast?
I'm asking this as I am about to start learning asp.net MVC, but I could just as easily put my energy into working with Java, and be less worried about working with a technology that is less likely to be found for forward thinking web apps due to the deployment costs.
You can develop an ASP.NET MVC site with very little out of pocket costs:
ASP.NET MVC 1.0 (Free to download)
SQL Server Express 2008 with Service Pack 1 (Free to download)
Visual Web Developer 2008 Express with SP 1 (Free to Download)
I can see your only overhead being the cost of hosting the site. Look for a hosting provider that has the ASP.NET MVC 1.0 and SQL Server 2008.
Download the Microsoft Web Platform Installer to see what is available for free from the Microsoft to assist with developing web applications.
Also, if you developing software to sell commerically you can enroll in the Mircosoft BizSpark program. It is a program designed to encourge start up companies to use the Mircosoft development stack.
Update
Microsoft just recently announced the WebsiteSpark which is more geared towards start up web development shops that company that sell software.
Costing is a bit tricky when it comes to tools, it is always depends on what you purchase and whether you can find deals discounts.
on the other hand, for development cost if you are a hobbier dev, it is almost ZERO cost, with Microsoft Visual Web Developer Express edition + SQL Server Express edition both are completely free to download and develop stuff on, when it comes to commercial software it becomes as mentioned above a bit trickier.
If there's no specific functionality needed in SQL Server, you could equally go with PostgreSql.
For "hobbyist" grade work there's a free version of the toolchain out there for pretty much any toolchain.
For "professional" grade stuff, obviously stuff starts to get a lot more expensive. I'd posit, though, that in a situation where you were building a system from scratch on your own (buying and running your own servers, etc) the costs more or less level out after a while.
Personally, I think the biggest cost is on the human knowledge front - that is, finding people who really know how to use the system.
So, I'd say that ASP MVC and Java are equally cheap, assuming you have a programming staff that knows how to use it. (Or, more to the point, equally expensive if you don't.)
If you're starting from scratch with no existing "knowledge base"? I don't think it matters. Really. Sure, hindsight is always 20-20 and in five years we'll all realize what we should have been shipping in today, but for the moment I'm not sure that cost is a useful metric for decision making.
In other words, go with whichever one sounds cooler. I mean, at least you'll be interested in rather than resentful of the technology. (Trust me, that goes a long way.)

Selecting Office 2003/2007 COM Object (Correct One) in Winforms Application

We are creating a Windows Form application (C# or VB.NET) that needs to reference an Office 2003 or Office 2007 COM object, depending on the version of office installed. What is the best way to handle this scenario and reference the correct COM object at runtime?
Unless you want to use any of the newly added objects and methods of the Office 2007 object model, it is fine to build referencing the Office 2003 PIAs, just make sure the correct version of the PIAs is deployed on the target system:
Another way around this problem is to remove the dependency on the later PIAs. Because of the high degree of backwards compatibility in Office, you can safely assume that if your add-in works on Office 2003 (with the Office 2003 PIAs), then it should also work on Office 2007 (with the Office 2007 PIAs).
(from Add-ins for Multiple Office Versions without PIAs by Andrew Whitechapel)
Otherwise I would recommend you the following blog articles by Andrew Whitechapel: Can you build one add-in for multiple versions of Office? (See the BIG warning that this is not officially supported by Microsoft).
Another option where you do not need the PIAs (this makes deployment a lot easier) would be to use ComImport together with late binding. This is however slower than using the interop assemblies, but if the automation code is not on the fast path this might be a good solution. You'll find an explanation how to implement this in the same blog post: Add-ins for Multiple Office Versions without PIAs
Would the Primary Interop assemblies for Office not help with this? I don't know for sure as I haven't had to use them in earnest, but I think they would.

Resources