Altabel Group's Blog

Archive for the ‘.NET’ Category

E-commerce sector has been in fashion and on boost for a while now. That’s why there are many debates over choosing the right open source solution for it. Let’s try to figure out why nopCommerce could become your choice. If you are an ASP.Net developer, you might want to graciously add and/or argue with something. In any case, welcome aboard :) and let’s get to the point.

“NopCommerce is among the top 5 featured e-commerce apps on Microsoft Web Matrix, downloaded more than 395,000 times from there and witnessed more than 883,142 source code downloads from Codeplex.”

The main feature of this software is that it is very easy to manage and quite user-friendly. This was the reason why nopCommerce created a buzz in the market soon after it was launched. Unlike others, nopCommerce is not written in PHP or Pearl rather, it is completely written in ASP.Net 4.0 and nopCommerce developers have provided the backend of SQL 2005 which even today is considered as very powerful database management platform.

NopCommerce is an open source e-commerce solution that contains both a catalog front-end and an administration tool back-end which is easy to work with for anyone with basic computing and administrative skills.

The various features that have made nopCommerce so popular are notification via sms, live chat, multiple language support, one page checkout procedure which ensures a low bounce rate, billing and shipping detail, mapping the products in the appropriate categories and sub categories. You have control over features such as discounts, coupons, wish lists, tax options, shipping methods and much more.

Speaking about other Nopcommerce features that seems quite prominent to me, they are:

• availability of exchange rate system that is based on the real time prices and multicurrency support (this has greatly helped the shoppers across the globe to shop freely irrespective of their current location);
• multi-store and multi-vendor support (this also allows online store owners to sell their products without the need to stock inventory and ship orders);
• drop shipping (enables the assignment of vendor details to a product).

Additionally NopCommerce is one of those few open source solutions that have been built keeping Search Engine Strategies in consideration with the use of friendly URLs, properly structured content and products to enable potential customers to find your store.

And last but not least nopCommerce is supported by fastest growing user community which has increased the technical as well as informative aspect of the solution.

With so many advantages listed, inadvertently a question arises if there are any pitfalls with this solution. And for sure there should be some. For instance it appears to have heavy server requirements and tends to require more design and development expertise than other shopping carts.

And what are your thoughts about nopCommerce? Please share your experience of using this e-commerce solution. Many thanks in advance!

 

Aliona Kavalevich

Aliona Kavalevich
Aliona.Kavalevich@altabel.com
Skype ID: aliona_kavalevich
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Developers are in a unique position to educate and to capitalize on cloud opportunities. Unlike learning new programming techniques or Frameworks, cloud learning moves beyond development. There are infrastructure aspects to consider as well as potential organizational process and policy changes. However, developers know the application and cloud administration is a much lower bar, than, for example network administration. If you’re looking for a strategy to follow to cloud enlightenment; you’re reading the right article.

Give the Cloud a Whirl
When it comes to the cloud, don’t wait for the storm to hit you, but rather educate yourself; there is no substitute for experimentation and hands-on experience. Start by separating reality from marketing. Almost every cloud vendor offers a free trial. For example: Microsoft Azure offers a free trial. If you are truly new to cloud development; imagine borrowing a company server for 3 months; only there is no setup time. Just turn in on and away you go.

Given that experimentation time is limited; go for breadth rather than depth. Get a taste of everything. What most developers find is; after some initial orientation and learning the experience becomes what they already know. For example: Azure has an ASP.NET based hosting model called Web Roles. After configuring and learning Web Role instrumentation, the development experience is ASP.NET. Learning Azure Web Roles amounts to learning some new administration and configuration skills; coupled with a handful of new classes. The rest of what you need to know is nothing new if you’ve done ASP.NET!

Developer must keep their time constrained. Struggling for hours with something new is often not worth the effort. One should question wide adoption of something that will be difficult to work with. Cloud offerings are typically not niche or differentiating skills like, for example, SQL Server tuning.

Whatever cloud option a developer starts with; understand the authentication options. Intranet developers typically take authentication for granted. ASP.NET makes authentication look easy. Consider all the moving parts involved in making authentication automatic and secure. Understanding authentication is especially important if parts of an application will live within the organization’s datacenter and within the cloud provider.

Finally, look for the right opportunities to apply these new skills.

Navigating the Fog
Most developers are adept at picking when to jump on new technology and when to pull back. Unlike adopting, for example, a new Web Services approach; adopting a cloud option entails learning a little more administration. The cloud can give a developer total control, but the cost is learning a bit more administration.

Developers may find themselves in new territory here. Typically a “hardware person” selects a machine and a “network person” selects and configures a firewall. Cloud portals make network and server configuration easier, but the portal doesn’t eliminate the configuration role. The public cloud handles the hardware; but the developer must choose, for example, how many; CPUs, servers, and load balancers will be needed. This lowers the administration bar, but also might place the burden on the developer.

The cloud will not be the right option for every project. Give the cloud a fair chance. Decision makers may have two reactions to cloud; outright rejection or wild-eyed embrace. Neither reaction is healthy. There is middle-ground. Don’t let unrealistic expectations set by marketing brochures guide the first project. A developer’s experiences described earlier in the article will be helpful here. Set the bar low. Make the first experience a good experience.

Supplementing with the Cloud
One potential approach is to supplement with the cloud. Let the cloud handle some part of the application. For example: requirements may dictate a web page to handle user registration. Registrations often have deadlines and, given human nature, people often procrastinate. Registration traffic is likely to spike the week or a few days before the deadline. Rather than purchasing servers to accommodate the spike; leaving usage idle for most of the year, do registration in the cloud. Dial up more servers the week before registrations are due and dial the server could back down the week after registrations are due.

Aside from technical change; cloud adoption may require organizational change.

Clouds Don’t Work in a Vacuum
I would bet good money that most developers reading this article have no idea which ports in their organization are closed to incoming TCP/IP connections. However knowing who to ask is far more important than what is known. In some sense every organization is its own private cloud. Networking professionals have been connecting things together longer than developers. Internet performance is considerably different than Intranet performance. Cultivate relationships with whoever operates your Firewall.

Passing through a Firewall is overhead. Your organization’s infrastructure may not be cloud ready. Though if your network people banter about DMZs; chances are your organization’s infrastructure is probably cloud ready. As stated earlier authentication is important to cover; forcing users to authenticate multiple times within an application is intolerable to most users.
Budgeting for servers may be different than budgeting for compute cycles. There may be concern over whether compute cycles will amount to more than purchasing a server or two. There is no shortcut here. Just like any other budgeting a developer must do the math. Again, this may be new territory for developers. Typically developers aren’t asked how much storage an application requires. Typically the storage cost is spread throughout the projects an organization conducts. Budgeting difficulties may be a good reason not to do a project. The upside is; after doing the math a developer will likely find that costs are far below buying the hardware.

Conclusion
The cloud gives a developer control over all components from administration to assemblies. Added control comes with a price. A developer must venture into some new territory. This article provided a path to follow.

What is your opinion on cloud opportunities? Is it worth to give a trial? What is your personal experience in adopting a cloud option? Maybe you have some thoughts to share!

Polina Mikhan

Polina Mikhan
Polina.Mikhan@altabel.com
Skype ID: poly1020
Business Development Manager (LI page)
Altabel Group – Professional Software Development

ASP.NET seems to have more and more quality options regarding extensible content management systems with each passing year. Depending on your needs, there are excellent options available both with commercial licenses or open source code.

In our blog, we have already tried to gather information about PHP and Java web frameworks, and in this article I`m going to present you a list of open-source CMS for .Net that, in our opinion, are worth taking a look at.

DotNetNuke (DNN for short)

If you are looking for something stable, DDN will be the answer. This CMS has been around for a while and DNN is probably the most well known and popular of all the .NET CMSs presented in my list. It`s is a web content management platform used to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. It`s available in a free Community and subscription-based Professional, Elite and Elite Premier Editions. Community edition contains most of the features which comprise the other editions, but the support is left up to the community. The Professional Edition gives you support from the DotNetNuke Corporation along with a few more features, and for a (much) increased price, the Enterprise Edition gives you a few more features along with phone support.

Kentico

Another Asp.net based CMS offering multiple licensing options is the Kentico CMS. The free license requires you to keep the logo and copyright information on your page, but the commercial versions offer support and allow you to work without the branding. This CMS allows building dynamic web sites, online shopping carts, intranets and web 2.0 community sites. Kentico CMS is designed to be easy to use for even novice users, so web development should go fast with someone who is experienced. It has powerful content editing interface – Kentico CMS Desk, which allows a user to edit content and preview it before publishing, also it`s easy to organize content into a tree hierarchy of documents (pages). The hierarchy (content tree) represents the site map and the navigation structure.

Umbraco

Umbraco CMS is free and open source Web CMS built on the Microsoft .NET Framework. It provides a full-featured web content management system that is easy to use, simple to customize and robust enough to run the largest sites such as wired.co.uk and asp.net. Umbraco CMS has recently become very popular with designers and web developers due to the open templating system and ability to build in guidelines that automatically format the content writers provide. Also, it uses ASP .NET “master pages” and XSLT, so there is no necessity to work with a heaped-together templating format. It’s written in C# and is happy to work with a variety of databases, so hosting shouldn’t be a problem.

N2 CMS

N2 CMS is an open source lightweight CMS to create simple and user friendly website. N2 CMS contains a package of functional templates with News, Wiki, Photo Galleries, FAQs, RSS, Data Entry, Polls and more. Features include full control of content and nodes, drag&drop, versioning, wizards, export/import, security, globalization and more.

Orchard

Orchard CMS is Microsoft’s hand in the open source world. It`s community focused and is supported by full-time developers from Microsoft, that develop components and scripts that are open tools for developers to create applications. With the help of Orchard CMSO, it`s possible to create content-driven Websites. While this CMS may be a bit slow and some of the things you’d expect in a more robust CMS might be missing, there’s several fantastic back-end features and it`s a CMS that is worth considering when choosing a technology for your project.

Sitefinity

Sitefinity is the most modern .NET web content management platform available on the market today. It offers many enterprise features, and simple, easy-to-use online administration tools for managing your website. The new revolutionary User Interface is very task oriented and simplifies the user interaction with the system. Sitefinity has 6 available license editions ranging from free for personal use, to $499 for small businesses, and custom pricing for the Enterprise and Multi-Site Editions. Currently Sitefinity is responsible for powering thousands of websites. Some of their most prominent government websites include: The White House Federal Credit Union, United States Courts, Downtown Fort Worth, and the Canadian Securities Transition Office. Other customers include: Toyota, Vogue, IKEA, Chevron, Bayer, and Coca-Cola.

Certainly the list of CMSs can go further and further and every CMS has its advantages and disadvantages. I`ll highly appreciate if your share your opinions and experience on using these CMSs and adding your favourite CMSs to the list.

Anna Kozik

Anna Kozik
Anna.Kozik@altabel.com
Skype ID: kozik_anna
Business Development Manager (LI page)
Altabel Group – Professional Software Development

When a developer faces the necessity of creating a web application using Microsoft.Net, he/she needs to choose which .Net framework to choose. Then the question arises: which one is the best one?

In this article a general outline of best ASP.Net Web Application Frameworks is given with the focus on their positive sides. Let’s start.

ASP.NET MVC

ASP.NET MVC is a part of the ASP.NET Web application framework. It is one of the two different programming models you can use to create ASP.NET Web applications, the other being ASP.NET Web Forms.
ASP.NET MVC brings the power of this development paradigm to ASP.NET development, allowing you to use your .NET development skills to create MVC applications.
It gives you total control over your HTML Markup as well as enables rich AJAX and jQuery integration. It also allows you to create SEO-friendly URLs for your site and makes Test Driven Development (TDD) easy. Besides, it enables a perfect and clean separation of bugs and concerns, helps in creating and building dynamic websites and web application that are rich in user interface.

DotNetNuke

DotNetNuke is a free, open source and easy to use application that is particularly based on web content management system along with web application framework which comes and is working perfectly with Microsoft .NET platform.
DotNetNuke is developed on the powerful Microsoft .NET platform – Windows server, IIS, SQL Server 2000, and ASP.NET (VB and C#). It can run on almost any database server, as long as someone has created the necessary provider (third-party providers include Oracle and mySQL). The flexible technical requirements make it possible to install and evaluate DotNetNuke on almost any computer.
DotNetNuke is offered under a nonrestrictive BSD License, a standard open source license that allows for full usage in both commercial and noncommercial environments. The BSD, well-documented ASP.NET source code, an active developer community, and a modular architecture make it possible to customize DotNetNuke and leverage it as a mature Web Application Framework. For end users, all DotNetNuke requires is a Web browser and an Internet connection.

OpenRasta

OpenRasta is an open source development framework targeting the Microsoft .NET platform for building web-based applications and services. OpenRasta framework has been released under Open-Source MIT License which mainly focus on various HTTP methods as well as on development of available resources. With the help of this, user can now create user friendly Web Interface by its web application framework.
OpenRasta however does have many MVC features and can serve as a full-fledge web application framework.
OpenRasta’s strengths lie in it’s comprehensiveness, wide range of features, active development and support community plus good documentation. OpenRasta’s weaknesses are similar to other frameworks in that is not as approachable as Web Forms and is intended for experienced developers. Hosting of an application built on OpenRasta is available through ASP.NET, in-memory, in-process through Windows’ HTTP APIs, or through any other environment able to receive HTTP requests, as the framework itself has no dependency on ASP.NET.

MonoRail

MonoRail is an Asp.net MVC based web application framework which has been inspired and designed from Action Pack. This tool offers completely different approach towards development of application towards standard WebForms way of development.
It also enforces handling application flow, separation of concerns, troubleshooting, model representation as well as viewing the application from the presentation logic point of view. This also means that your will have to write less code and result would be more maintainable application.

CSLA.net

CSLA.net is an Asp.net MVC based web application framework that is particularly used for development purpose. It allows you to design and develop applications for various kind of services like for Windows, Web, service-oriented and also for work-flow applications. One of the best advantage of using this tool is that it reduces the cost of developing, building as well as maintaining applications.
It performs various action of collecting data and storing them into the database application along worth creating user friendly interface. This is one of the most widely used framework which allows developers to use the power of object oriented design which will result out in developing powerful web applications.

Thanks for your attention :) Hopefully, this article was informative and useful for anyone who read it. And do you have any comments? Looking forward to hear your opinion on best ASP.NET Web Application Frameworks!

Kind regards,
Yuliya Tolkach – Business Development Manager (LI page)
Yulia.Tolkach@altabel.com
Altabel Group – Professional Software Development

Go-To Prescriptive Guidance for .NET Developers Building on Windows 8, Windows Phone 8 and HTML5

Telerik, a market-leading provider of end-to-end solutions for application development, automated testing, agile project management, reporting, and content management across all major Microsoft development platforms, has recently released “Platform Guidance for Microsoft.NET”. And , you know, it worth reading. It has been shared hundreds of times socially and is at the top of the list for Google searches. This document is easy to read and it highlights best practices and tips for .NET developers looking to leverage the latest Microsoft technologies. The advice is spot-on, and although somewhat basic, still worth your time.

I`d like to present a short overview of it. The goal of the document is to provide clear, direct guidance when picking a .NET platform. Platforms are suggested based on their ability to provide the most benefit for specific application scenarios relative to other .NET options. Platforms discussed within the guidance document include:
· Desktop Applications -WPF

WPF is still the choice for rich, beefy, custom Windows apps. However noticeable fact is that it wasn’t recommended for any of the other five scenarios. It’s comforting to hear that Silverlight is still a recommended technology however with some caution: Silverlight is also a good candidate for building desktop apps, sharing many of the same characteristics of WPF. While it seems clear that Microsoft will not release a major version beyond the recently released Silverlight 5.

· Dashboard/Reporting Applications – ASP.NET MVC with HTML5

Combination of ASP.NET MVC and HTML5 may be an ideal variant to maximize reach: ASP.NET MVC with HTML5 can give developers the power to build applications that are usable on any PC or mobile device. As we see HTML5 has surrounded us: assimilate or die J
WinForms can be a viable alternative for applications that do not need the power and richness of HTML5 or XAML

· Data-Driven Websites – ASP.NET MVC and Web API

ASP.NET MVC provides developers with maximum control over website rendering and helps to maximize performance.

· Interactive Web Applications (Forms over Data) – ASP.NET WebForms

In this case Telerik suggests using ASP.NET WebForms. It`s the most mature ASP.NET variant and it`s the fastest way to build “desktop-like” rich application with web technologies.

· Mobile Website – ASP.NET MVC HTML5

ASP.NET MVC with HTML5 is considered to be an ideal choice for mobile websites: HTML5 helps mobile websites deliver more functionality in a single view and ASP.NET MVC, with its highly configurable views, provides the simplest path for delivering HTML5 to devices.

· Tablet Applications – XAML and .NET

Since Microsoft is making it clear that Windows 8 is their ideal platform for tablet apps, the bigger question developers must answer is how to develop tablet apps. Tablet apps can be built with either XAML/.NET or HTML/JavaScript. Both approaches have access to the full capabilities of the device and share a common Windows Runtime API. However the primaly recommend and focus on XAML and.NET. High-performance games may be developed using Direct X.

When this document was published Windows 8 was still in pre-beta and it didn’t get any recommendations; Telerik said it will update the document in time to reflect that. Also they promised to dwell on mobile development later.

Those were the recommendations from Telerik. And what are you personal recommendation regarding the choice of correct .NET technologies for a project?

Look forward to you comments.

Kind regards,
Anna Kozik – Business Development Manager (LI page)
Anna.Kozik@altabel.com
Altabel Group – Professional Software Development


%d bloggers like this: