Microsoft Dynamics CRM or SQL Server? [closed] - sql-server

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 10 years ago.
In my organisation we write many custom mobile solutions for many different clients. We have started utilizing Microsoft Dynamics CRM 2011 in some of our test products however almost all of the work we are using it for is done with custom entities and the solutions are utilizing it as a back-end database. From my impressions so far, using CRM in this way is counter-intuitive and slow.
From your experience, would there be any benefit I am not seeing by using CRM instead of a normal SQL Server? I have only seen very basic stuff on the CRM front-end but am not sure how the custom entities become useful in CRM?

I write a lot of code for CRM and you are right, it isn't quick. It's benefits aren't for the developer though, they are for the end user. Through workflow and customisation they can create their own system to their own needs and can use the in-built entities to help manage their businesses.
That said, if you are not putting CRM in front of the customer (or using it internally for its true purpose) and are just using it as a database for your application, then this is not a good approach. You'd be better off talking directly to SQL Server.

Microsoft (and many partners) leverage Dynamics CRM as a platform for rapid and extensible development. There is a term we use: xRM that implies you can build many different applications types faster than traditional custom development.
I have used Dynamics CRM in situations simply because of it amazingly granular security capabilities (and built a custom UI for most of the users). Building a row-level security mechanism with the capabilities found in OOB Dynamics CRM 2011 would be a daunting task in itself...I often tell my new CRM developers, "when you are building your CRM, make sure you include: user data imports, row-level security, solution file deployments, simple form customization, custom views, etc."
With CRM 2011, you start with all of that and have a product with well designed extension points (plugins, workflows, web resources, JScript API, OData, SOAP). All without writing, testing, debugging a single line of code. The other thing I tell developers: coding is expensive, so don't write code :)

Related

ORM Mapping software replacement [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 9 years ago.
We have a large web application that uses multiple databases (all currently MS SQL Server 2008 R2). This application is around 7 years old and was built around the EntitySpaces framework. It's currently using version 2009 of this framework, written using .NET in C# and targetting .NET 3.5
Now that ES is no longer around we have a need to change this to something else and are having problems deciding what to use.
Our database schema is very mature and works perfectly for us. The application is installed in over 80 sites across the UK.
Ideally we'd like a similar ORM tool that we can just point to the existing database schemas and generate our business and data acess layer classes. We don't mind about updating to a higher .NET framework if necessarry.
Our application makes use of both the Entityspaces objects and also call some stored procedures to provide reporting functions. This is something we cannot change so the ability to call parameterised stored procs is essential.
My question is - Has anyone had any experience of doing this and can anyone recommend any tools to use to try out?
Thanks in advance,
Andy
Entity Framework would be the obvious choice as Microsoft's own ORM. It definitely supports mapping to stored procedures, and generating models from databases (aka. "Database First" in EF parlance).
You mentioned that you use multiple databases - this makes things more complicated (in any ORM) - as a word of advice, there is absolutely nothing wrong with creating multiple models in EF, especially if you line these up with your bounded contexts.
Julie Lerman's books are probably the best resource for learning EF: http://www.amazon.co.uk/s/ref=nb_sb_ss_c_0_12?url=search-alias%3Dstripbooks&field-keywords=julie+lerman&sprefix=julie+lerman%2Caps%2C211
There are also lots of courses available at Pluralsight.
I would definitively recommend you to have a look at ServiceStack.OrmLite!
It fits exactly to your needs as it maps a POCO class 1:1 to an RDBMS table.
It allows you to call Stored Procedures, comes with T4 templates to help you out with the code generation part and it’s really simple and pretty fast!
I have use CodeSmith extensively, and can hightly recommend it: http://www.codesmithtools.com
I used Codesmith for a few years, creating my own implementation using the CSLA.NET framwork, these days however I use T4 Templates with the Entity Framework, which works very well.
I would recommend EF and T4 templates if you want to use EF and Codesmith if you want to build your own ORM based on your own architecture or something similar to that of ES.

Google apps server or Amazon server [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 10 years ago.
why would I prefer Google Apps server over one of Amazon's various offerings?
the main purpose would be to store data for mobile apps, so I suppose cost and programming language are the biggest deciding factors.
Is there a good primer I can read? I'm mainly looking for resources to then come back here with more detailed questions
I think google app engine is good but I found it rather limited. I could only push my python or java code to it. I decided to go with AWS because I realized, in my specific case, I need other services running and different versions of certain software(some of my apps run python3 and some run python 2.6).
I also found the usage pricing of google a bit confusing. For example, how do I know how many IO requests my system will have? With EC2 I didn't have to measure it, it gives you unlimited IO on your server and to S3. I only pay for an hour.
With that said, there are good reasons to choose google over AWS. If you are simply pushing code and do not depend on any third party services(all the services stem from your own app) then google maybe a good choice.
If someone can provide a good primer than great but I would strongly suggest you just get your feet wet and try both services out. AWS offers a micro instance for free for a year ( http://aws.amazon.com/ec2/ ) and I believe google does as well( http://www.google.com/enterprise/cloud/appengine/pricing.html ). Test both out and see which one you like.
This thread seemed to generate some good discussion and is centered around games:
Final GAE vs AWS architectural decision
Another SO post with lengthy discussion:
https://softwareengineering.stackexchange.com/questions/64727/windows-azure-vs-amazon-ec2-vs-google-app-engine
IBM DeveloperWorks has a nice comparison between major PaaS vendors here.
The main drawback of Google App Engine is the lack of flexibility: it only implements partially the Java EE standard and it forces you to use a Non-Relational data store for persistence (although, Google SQL is planning to get out soon). With this restrictions, your application is less portable.
On the other side, Amazon offers includes a Tomcat Container that it's a fully complaint Java Web Container. Amazon also lets you choose between a relational and a No-SQL repository so flexibility and portability is assured. But the prices are quite expensive, so it’s not recommended for small projects or hobbyist developers (like me)

Pros and Cons of Sharepoint vs Silverlight [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 10 years ago.
I want to understand the differences in applications developing in Sharepoint and Standalone Silverlight application. My application is going to be a dashboard kind of application which some charts and graphs with metrical data.
Can anyone summarize Pros and Cons of developing this application in Sharepoint
and Pros and Cons of developoing this application in Silverlight
SharePoint will give you control on the data itself. You'll be able to include scenarios involving workflows (e.g. approval) or where access is restricted. For example I worked on a project where the customer had two vendors, and of course he didn't want vendor two to see vendor one 's data on the dashboard.
SharePoint will also give you more rendering options, either html or Silverlight. This will be useful if you need to support a wide range of devices (including mobile).
The cons are the overhead involved with the SharePoint deployment.
As John Saunders said, it is a broad topic and there is no simple answer. One important factor to consider is the size of your project. If you are in a corporate environment involving collaboration, most likely SharePoint will be a good option, either with or without Silverlight.
Presumptions-
You are required to involve SharePoint in some way (intranet? managers use SharePoint?)!
SharePoint
Pros
Direct access to SharePoint data and objects
Easily added to SharePoint sites/pages etc
Cons
Stuck within the SharePoint platform
More involved to get the development environment going (maybe you already have this setup)
It's SharePoint
SilverLight
Pros
Can be viewed in any browser with the SilverLight plugin
Can itself be displayed within SharePoint (e.g. appears to be in SharePoint)
Not tied to SharePoint
Cons
Requires the SilverLight plugin to be installed on each client's machine as well as the correct version etc
May need to access SharePoint web services rather than having direct access to SharePoint (If your dashboard data comes from sharepoint)
A separate server (or the same) to host any WebServices that it might require
Edit
It's possibly worth you mentioning what control sets you have access to as if you have licenses to either SharePoint or SilverLight third party controls this might effect what the result of your Dashboards are
Feel free to add to this...
SharePoint and Silverlight are able to access the Data directly. Think about
ClientObject Model / Server Side Object Model
REST Service
SharePoint WebServices
Building dashboards in SharePoint (by using WebParts) are OOB configurable for the user. The users already know how to use SharePoint because of it's consistent UserInterface.
The advantage of Silverlight will be that you dashboard could be installed on the desktop if you're adding OutOfBrowser support.
I think Silverlight has some disadvantages, but they really depend on your requirements and on your target audience
Reach (on the internet only a few percent have installed Silverlight plugin)
Security (based on SharePoint there is already a security model)
SharePoint is offering a lot of platform features which will cost a lot of money to reinvent them in Silverlight.
Just my cents ;)
Thorsten

DotNetNuke - Pro vs. Community Versions [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 9 years ago.
Our organization is looking to put up a site utilizing DotNetNuke, and according to our consultant (who is less a .Net fan and more of a Joomla fan), there is 'anecotal evidence' that the Community version is crippled in a way that pretty much forces you to get Pro if you wish to have a reliable site.
I have serious doubts as to the validity of this claim, but just in case I would be very interested to hear if this is or is not the case, based on use of the product and it's community and professional versions.
Specifically, if there are bugs/issues/etc in the community version that are resolved only by upgrading to pro.
I apoligize in advance if I posted this on the wrong stack exchange, but figured this was the best bet ;)
I would definitely disagree with that assessment.
The only Pro feature that I can think of that might affect reliability is a different caching provider (which we've had more problems with than the standard caching provider). I believe it's the suggested provider for a web farm scenario, but in most typical scenarios it won't be a big issue.
The community edition is the same community edition that's been used in real sites for years, there's been no crippling to it since the introduction of the Pro version. The Pro version is just a number of custom extensions on top of the community edition, most of which are quite optional for everyday use a website.
The Edition Comparison on DotNetNuke.com shows the following inequalities:
Advanced Content Approval Workflows
Content approvals ensure any of your users impacted by a content change can approve updates before they go live. Workflow approvals can be configured in a top down hierarchy at the site, page, and module level. A business rules engine enables workflows with an unlimited number of states and reviewers
Granular Permissions
Page, module and folder level extended permissions provide granular security rights which allow you to precisely define which content contributors can edit which modules on each page.
Advanced Site Search
The search engine includes rich query syntax with support for Boolean searches, phrase searches, relevance searches, wild cards, fuzzy searches, and groupings. Includes a true web spider that is capable of indexing any site which removes the requirement to implement the ISearchable interface within modules.
Configuration Manager
A host user can manage the various configuration files that control run-time operation. Upload a Configuration Merge script which can be used to automate many of the more repetitive and complex configuration operations.
Content Staging
Content contributors and software engineers make all changes to your web site on a physically separate staging server. You push the staging site to production when all changes have been reviewed, tested and approved.
My Editable Pages
Links to all of the pages and modules in the site which a user has permission to Edit are displayed, allowing efficient page editing
Document Management
A complete document management solution which allows your organization to store, control and view documents online
Module Caching
A database caching provider for module content which stores module content in a centralized database for faster page loading without requiring web server processing.
Page Caching
Allows your site to save an entire page of rendered content to one of three different caching locations: memory, database or disk. Improves page delivery speed for site visitors.
Distributed Caching Provider
More efficient resource usage in large web farms
File Integrity Checking
Checks files in the installation and reports any inconsistencies which may impact website reliability
Health Monitoring
Pings your web site periodically to identify failures and will notify you of any problems. Also ensures the site stays in web server memory for faster visitor accessibility
Security Center
A host-level feature which dynamically loads a list of known security vulnerabilities affecting your version of DotNetNuke and provides you with navigational guidance to acquire the latest upgrade
Comprehensive Product Documentation
Includes more than 2,800 pages divided into User and Superuser Manuals
Online Knowledge Base
Provides guidance for DotNetNuke administrative tasks and answers to common technical questions
Impersonate User
A host-level feature that allows you to impersonate another user who is a member of your web site. Search for a user by name and then click an icon to assume their identity to view the site using the user’s permissions while keeping their password confidential.
Outside of the three caching items, I don't see anything in there that's more than icing on the cake. Also, having used many of those features, they aren't quite as impressive as they all sound, and the DNN community core isn't completely devoid of any similar features. Module caching, in particular, is available in the community edition, there's just another provider. Also, page caching is possible in the community edition, it just doesn't come with any page caching providers built-in.
Quite the opposite.
Disclosure: Scott Willhite, Director of Community Relations for DotNetNuke
There is absolutely NO limiting code in the DotNetNuke Community Edition, and I am quite proud of that fact. We have made a purposeful and, frankly, very challenging business decision to keep our Community Edition the base of all of our software. We engage in enhancement of the base Community Edition to produce Professional and Enterprise editions using the same extension points that are available to all developers. And we constantly add features and capability to the Community Edition which benefit all users of the platform. Any suggestion to the contrary is unfounded and misleading.
Some companies choose to limit their free editions (by number of users, number of content items, number of pages, etc). Some require branding that can't be removed in free editions. Others specifically use their free editions as "hooks", knowing that a customer of any size will be forced to upgrade if they want to continue using the product. None of these approaches is acceptable in a truly open source environment and none of them are in practice with DotNetNuke.
It is fair to say that we have resources working on proprietary extensions to distinguish our Professional and Enterprise edition offerings. But this is the same privilege we enable hundreds of thousands of others to enjoy who develop for or implement proprietary solutions using DotNetNuke. We are also customers of those extension points and so are constantly improving them for everyone's benefit because we don't just use them as marketing points, we base our companies products on them. Every release of DotNetNuke contains both substantial Community Edition as well as commercial edition enhancements.
To specifically answer your question... while there are no constraints within the Community Edition of DotNetNuke, and it is a highly functional application out of the box, it cannot address every need (no product can, all projects have unique requirements). This is why it is constructed with well defined extensions points and why there is such a vibrant open source and commercial ecosystem supporting it. So it is fair to say that the solution, out of the box, may not address all of your needs specifically? But between Professional & Enterprise options, 000's of commercial extensions on Snowcovered, 00's of open source options in the DotNetNuke Forge and myriad developers and integrators in the ecosystem (in addition to your own skills), I am confident that any need can be met in the way that makes the most sense for your or any application.
I too would disagree strongly. I've been working with DNN for years, well since version 3 and there is no great conspiracy to force CE users to upgrade to Pro. I've rolled out 100+ Community Edition sites (seriously, no exaggeration) and the ONLY PE sites I've worked on were usually government or educational institutions where they needed content staging or the benefits of the OpenDocument Library module. To me, it sounds much like you say - your consultant is letting his opinion of .Net vs. PHP flavor his recommendations.

Which language for a quick GUI app + sqlite database CRUD (2-4 tables) [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 9 years ago.
Which language for quick GUI app + sqlite database CRUD (2-4 tables). Java, Python? (Please no jokes like VBasic), some reference, source code to look on?
added:
First idea:
1 database SQLite (Win) + client GUI app (Win)
clients table + orders table + others
import, export database
add, del, edit, etc. entries
Second idea:
1 hosted database (PostgreSQL ,MySQL) + web app client
clients table + orders table + others
import, export database
add, del, edit, etc. entries
Thinking about Django, RoR or local Java(Netbeans), Python(wxPython+ORM).
???
Try python with wxPython for UI programming. I suggest, that you look for an ORM mapper like SQLachemy.
Somebody suggested dabo which is made especially for your purpose, but I have no experience with it (yet). It works with wxPython and databases like SQLite.
Delphi. It's an ideal fit for this kind of desktop application, and there's a SQLite wrapper available.
Ruby on Rails will do simple CRUD operations very easily - although doing more than that can be a little more complex (would require some reading about RoR's way of doing things). The latest version of Rails automatically uses sqlite databases, and in fact the whole database, and CRUD GUI code can be created with one command (scaffold).
If this is to be deployed then that can be a bit more difficult (although I hear that Capistrano is good) - but for local or intranet use then that's what I'd do.
Whatever you are most familiar with.
Or whatever have better set of ready to go components, so either Java (Netbeans/Matise + wizards) or something else.
Need more info. For in house or will you distribute? Desktop or web-based? If web-based, do you host it or will you have it hosted?
Then there's your personal goals. Really, really do it quick, or let it be an opportunity to learn a language/technology you are curious about, like Ruby on Rails? Linq?
Xojo (formerly called REALbasic), if you want to do a desktop app. The Personal edition comes with SQLite built in and is free on Linux, cheap on other platforms. It's a very clean OO language and reasonable IDE, about as productive as VB6 to work in but much cleaner.
I've been doing cross-platform development for about 15 years and REALbasic is now my tool of choice for straightforward database form apps, including an enterprise accounting system I'm currently working on.
I also am working in Swift, WPF/C#, C++ and Cocoa/Objective-C so I'm not just a "Basic-weanie" :-)
GUI development isn't much easier than with Tcl/tk. Also, Tcl has arguably the best interface to sqlite. If deployment is an issue there's definitely no language that can compete with tcl's tclkit/starkit/starpack packaging mechanism.
Write a XulRunner app; this can run with Firefox 3.0.
http://developer.mozilla.org
C# and WPF, it;s preatty easy and good to know (I've been playing with it for 1 week and fully wrote a twitter client in a few hours.
now Cocoa, and the interface Builder, that is a cool approach even for a simple app.
If you were developing a web app I would suggest a scaffold-enabled site like rails, django or ASP.NET MVC (dynamic data). If its a windows app, nothing beats the productivity and features of WPF/Silverlight, if so consider using OrmLite, a POCO-driven lightweight ORM providing a set of useful extension methods around the common ADO.NET IDbConnection and IDbCommand interfaces. Using only convention and DataAnnotation attributes for configuration, it's effortlessly able to persist models with deep complex object graphs.
A live working example using Sqlite (with full source code) is available here:
http://www.servicestack.net/ServiceStack.Examples.Clients/Default.htm
There is also a complete end-to-end example (i.e. stand-alone, no other config required) on stackoverflow:
xml to sql using linq and C#

Resources