I am planning to practice and learn .NET C#, WCF, ASP.NET web services and Oracle 11g (SQL/PL Sql).
What I am thinking is to work on developing a sample project involving above technologies, so that I can learn technologies at the same type practice them efficiently.
I need guidance to links where I can get some business scenarios or requirements where I can use all the above technologies and implement a sample project.
Thanks in Advance
The first thing I would do is download VMWare Player. It is free and it will allow you to setup a "playground" for you to work with. The next thing I'd do is download Visual Studio Express and install it on your virtual machine. Finally, I would download Oracle 11g which is also free. Install that on your virtual machine too.
Now you have a virtual environment where you can do whatever you want and practice Oracle and .NET to your heart's content without messing up your current system. Once all is setup, you can learn more about Oracle and .NET from the Oracle .NET Developer Center
Related
Post the question in a different way, because the previous one was closed because it was opinion-based.
In the past I have developed several .NET applications that consumes WCF services hosted on IIS with MSSQL database.
Now the company is asking me a technology switch (for licensing reasons - current MS server is getting old and needs to be replaced) and I have do do the same but with a Linux server, so I need that the same .NET applications to connect to this server to retrieve the data in the same way that they do now with MSSQL (service reference).
So I need to rewrite the WCF service to a new technology that could be hosted in Linux. I know for sure that I have to learn a new technology to do that but I would like to be sure I choose the right one.
These are my actual skills :
Writing C# code
Writing VB.NET code
SQL and MySQL
Some Python basics
This is what I have done so far :
Build a Linux test machine with Debian distro and installed Mono and .Net Core
Installed MariaDb database and built table schema
Do you think that ServiceStack could be a good choice to fit my needs?
If so, what are the suggested steps to getting startet with it?
Thanks!
Do you think that ServiceStack could be a good choice to fit my needs?
So ServiceStack runs on .NET Core and Mono but you shouldn't consider Mono for Web Apps as .NET Core is far more performant, resilient & better supported.
ServiceStack includes a code-first ORM in OrmLite that you can use to quickly develop DB Apps which supports MySql/MariaDB.
ServiceStack also supports AutoQuery where it can implement full Queryable Services for your OrmLite data models with just a simple Typed Request DTO declaration.
And in the pre-release version (now available from v5.8.1 on MyGet) it also supports AutoCrud and AutoGen AutoCrud Services which makes it possible to rapidly develop full CRUD APIs with declarative Request DTOs.
All these features are supported and perform even better on .NET Core thanks to its leaner & faster runtime & thanks to its cross-platform support you can take advantage of the simpler & superior tools and Services for hosting & deployment in the Linux ecosystem.
If so, what are the suggested steps to getting startet with it?
I'd recommend following the Getting Started section and reading the Background Concept docs if you're new to ServiceStack to get a background understanding on its design & goals.
I was working on UWP project in visual studio #xamarin forms, how do i connect to sql Database without using any Web API's and dependency services ?
The application is working in offline mode.
First of all, you must decide whether you want to use Microsoft SQL Server or Sqlite.
These are completely different databases and therefore the code will be different as well.
If you want to use MS SQL, you can use this article.
Somehow from your questions I think that Sqlite will serve you better (just my guess).
If you want to use Sqlite, check this one.
This recipe is designed for Xamarin.Forms PCL project and therefore uses dependency service - since the approach is different on iOS, Android and UWP. If you do not plan to port your project to Android or iOS, you can just call the functions directly, without dependcy service interface.
I am making a desktop application in C#. What's the simplest way to connect to Oracle? The application is a very simple one and it will only run a few SELECT and INSERT statements.
Don't want to install some big drivers or clients on my machine. Anything that will make my application up and running quickly is fine.
You should use the Oracle Managed .NET driver. It doesn't require OCI to be installed which makes it very easy to deploy. Another nice thing of it, is that is supports both 32 and 64 bit (the unmanaged version of the ODP.NET driver didn't).
The simplest way is probably to use the
Microsoft OLE DB Provider for Oracle
which is apparently included in WDAC (Windows Data Access Components) and, thus, in certain versions of Windows. I couldn't find a comprehensive list, though, you might have to verify that it works on the target OSes of your application yourself.
Do note, though, that this simplicity comes at a price -- the driver is deprecated:
This feature will be removed in a future version of Windows. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Instead, use Oracle’s OLE DB provider.
I would recommend you use standalone approach as described here.
In short, you just need few necessary files from the Oracle Client to reside in the bin folder of your application, to work with Oracle database. There is no need to install heavy Oracle client or use other providers that may not exist on some machines.
I have been asked to build a rather simple form processor application that interacts with an already-existing system that is built on nhibernate & uses stored procedures to manage all the business logic in the system.
My goal is to build a (hopefully) simple web service (json if possible) that I will be able to access from both a web site, and ultimately an iphone & android app down the road.
I've built a couple fairly substantial RESTful api's using other technology (PHP, python, Redis, Mysql, etc) however aside from my basic understand of the overall syntax of C#, i'm pretty green to the whole ASP world. And frankly, the thought of doing anything drag and drop makes me want to stab rusty forks into my eyes ;)
My questions to those with C#/ASP/nHibernate experience:
I have visual C# express 2010 - do I need to purchase visual
studio to build this app?
Is it even possible to build a simple
JSON api/web service that can handle simple transactions (ie: return
a list of dates, and insert a single new entry) with C#? What tools do I need to get started down that path?
Does anyone have
any resources or recommendations for a crash course or high level
tutorial in C# web service construction?
I've done a fair bit of reading on nHibernate now, and feel i have a loose understanding of how the thing works, i'm just foggy on how to link a few simple classes/stored procedures with the actual web service.
My goal is to completely avoid re-inventing any wheels, and keep this thing as lean as possible... essentially, the web service is only there to pass data back and forth to the database.
Any help would be GREATLY appreciated - I know I can build this thing, I just can't seem to figure out where to start - if I could just sit down and code the thing, I would be fine... but it seems that with microsoft, you can't just sit down and code anything :S
EDIT: I'm working on Windows 7 Professional, I have downloaded nhibernate 3.2.0 and installed visual C# express 2010, I also have a windows 2008 server box with ASP.net 3.0 at my disposal for testing purposes.
EDIT 2: Which express package should I be downloading here? I have C# express, which seems to be the wrong one to start with - http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
EDIT 3: Thanks for the answers so far... currently downloading visual web developer and will dig into WCF and MVC a bit further.
No need to purchase VS. The license for VS Express allows for commercial applications to be built with it.
Yes, you can build a simple JSON api/web service - use ASP.NET-MVC, not webforms. I have done this a few times.
http://asp.net/mvc and for a working example of an MVC web site http://nerddinner.com
For web work, VS Web Developer Express is what you should be using.
My job has required me to change technologies quite radically. I am fine with this, I am excited to be learning new stuff; but I feel like I am very much a newbie in Java, especially the web development side in which I have zero experience.
Just a little background, I would usually create websites using ASP MVC 3, Razor view engine, C# and on the backend everything will be nicely TDD'd and using EF for data access. With .NET in general I have been doing it for around 4 years.
Now I appreciate that for my purposes I wont find it difficult translating my skills from C# to Java syntactically, it's just everything around it, the frameworks, webservers and stuff which is going to confuse me in the short term. Even using a new IDE will be frustrating at first.
Can anyone offer any advice? I know we want to be using Spring MVC, presumably with Tomcat. Do I need to setup and install Tomcat for dev purposes? Or does eclipse/netbeans (which should I use?!) automagically do that for you, in a similar way that Visual Studio does by making a local IIS webserver to use.
For TDD, is there a good plugin for eclipse/netbeans anyone would recommend so i can just right click a class file and do "run tests"
Any general helpful links, getting started tutorials?
Cheers
I don't recommend to start with Spring MVC. You should start a far lower level to keep it simple at the start.
I recommend to install an Eclipse IDE version for Java EE Developers. This version contains all the stuff you need except of an application server.
So you have to install a Tomcat yourself.
In Eclipse you can now start with a "new Project" and choose Dynamic Web Project that does all you need for a clean new Web Application.
Out of Eclipse you can then rightclick the project and click Run on Server, which opens a qizard where you configure the things for your Tomcat installation.
This is what the setup is about. And you should use Eclipse, because Eclipse is a standard editor in a professional environment.
What you now should learn or where you should start is first of all learning java if you not already did. And then go on with: Servlet API and Java Server Pages (JSP) API.
You should get you some books on that to get your head around it.
After that it will be much easier to understand what Spring MVC is, what it does and how it works.
Starting with Spring MVC in this case would be like building a house starting with the roof. I think this would fail.
Edit: Just to complete this, I found this link here, which seems to me like a good first starting point.
Edit: Another last thing: the standard library for TDD in Java is called JUnit and there is a nice plugin for Eclipse to use it.
The big problem is that you are going to stay stuck in the very addictive products of Microsoft, and it's "magical" tools and editors and plugins, even keyboard shortcuts.
So, i think it's very hard to move.
Some suggestions:
Test Driven Development - JUnit, HTTPUnit
IDE - Eclipse (free), IntelliJ (commercial) - both offer all the advanced IDE features you would expect, including embedded Servers
Web framework - Important: a criteria you should use in choosing a framework is whether you can make changes without having to redeploy or restart the server to make a change. (Two examples that support this are Grails (script based) and Tapestry5 (uses live class reloading - I'm sure there are plenty more that do these days....but check this first or you'll waste loads of time waiting to deploy changes)
Server - Tomcat7 and Jetty are both good
Jetty is small, fast and flexible, it can make a good choice for development even if you ultimately use another server in production. You can either embed it in Eclipse (RunJettyRun) or write your own hooks to start it, as simple as:
private static void run(int port, String resourceBase, String descriptor) {
Server server = new Server(port);
WebAppContext context = new WebAppContext();
context.setResourceBase(resourceBase);
context.setDescriptor(descriptor);
context.setContextPath("/");
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
server.join();
}
Try Oracle ADF(Application Development Framework), It is very similar to Microsoft Visual Studio.