views:

289

answers:

8

Hello

is it possible to say what are the Microsoft equivalents technologies compared to Sun?

For example:

Microsoft                          |  Oracle/Sun
---------------------------------------------------------------
Visual Studio                      |  JDeveloper,NetBeans //thanks justin,danswain
IIS                                |  Apache,Tomcat,Oracle WebCenter,JBossWeb,Glassfish,Weblogic,Jetty //thanks Yishai,danswain
ASP.NET                            |  JSF //thanks justin
SQL Server                         |  Oracle DB, JavaDB(*) ?
ADO.NET Entity Data Model          |  Java Persistence API?
ASP.NET MVC                        |  Spring Framework //thanks danswain
Windows Presentation Foundation    |  Java FX //thanks justin
Windows Communication Foundation   |  EJB (JAX-WS, JRMI, JMS)(**) //thanks danswain,justin,Yishai
ASP.NET AJAX Toolkit               |  ADF Faces,JQuery //thanks danswain,Yishai
Reporting Services/RDLC            |  Oracle Reports Services //thanks Yishai
LINQ to SQL Classes                |  Hibernate project?
Windows Forms                      |  Java Swing //thanks justin
XAML                               |  Java FX script //thanks danswain
CLR                                |  Java VM //thanks Brian

(*) http://developers.sun.com/javadb/ (the ancient Apache Derby?)

( **) as said by the guys there wouldn't be an exact correspondent

A: 

The big one you're missing is .NET/Java (the platform). Both are virtual machines consuming bytecode, with the capability to run different languages on them (e.g. C#/F# on .NET, Java/Scala/Groovy etc. on the Java virtual machine)

Brian Agnew
Um... .Net doesn't run bytecode. The distributed bytecode analog (IL) is compiled to fully native code by the jitter _before_ your program starts executing.
Joel Coehoorn
I've edited to say 'consuming', which should be more representative of what's going on.
Brian Agnew
+1  A: 

Sun bought mySQL which would be a SQL Server alternative. Also, Struts seems to be the standard MVC framework for Java.

Steven Paligo
+5  A: 

Here are a few:

Visual Studio               |        NetBeans
IIS                         |        Glassfish
.NET                        |        Java (platform)
ASP.NET                     |        JSP
ASP.NET MVC                 |        JSF / ADF
ADO.NET Entity Data Model   |        Java Persistence API (JPA) / TopLink
SQL Server                  |        Oracle DB / PostgreSQL / MySQL
Reporting Services          |        Oracle Reports* / Oracle BI Publisher
WCF                         |        JAX-WS*, JRMI*, and JMS*
WPF                         |        JavaFX*
Windows Forms               |        Java Swing
Windows                     |        Solaris

References:

  • JavaFX
  • Oracle Reports
  • WCF equivalents - There is no direct equivalent, rather there are disparate technologies that can accomplish the same tasks. See comment below for a detailed explanation.
Justin Ethier
Does Oracle/Sun have something similar to Entity Model and MVC?
Junior Mayhé
Java Persistence API (JPA) and TopLink (Oracle's implementation of JPA) correspond to Entity Model. JavaServer Faces (JSF) and Application Development Framework (ADF) correspond to MVC. Also, Oracle has another reporting product, Oracle BI Publisher (previously known as XML Publisher). Finally, Oracle uses Linux quite extensively, not just Solaris, and most of Oracle's software also run on Windows. Note that for most of the products mentioned above, there are alternatives from other vendors in the Java world.
markusk
Also, Windows Communication Foundation roughly corresponds to JAX-WS (for web services and REST), JRMI (for binary RMI), and JMS (for messaging).
markusk
@markusk, EJB's wrap all of those WCF aspects together in one package, with session and message driven beans.
Yishai
@Yishai: While EJBs certainly do that, they also add the requirement for an EJB container. JAX-WS, Java RMI, and JMS may all be used outside EJB containers, and EJBs are built on top of them. My impression is that WCF is the equivalent of the lower-level frameworks, and that .NET Managed Components correspond to EJB. However, I could be mistaken, as I haven't done any development on the .NET platform myself.
markusk
+1  A: 

Silverlight:--> would be Java FX/(maybe even Java applets..or maybe Applets would compare more to ActiveX)

Windows Forms:--> Swing/ AWT

ASP.NET MVC:--> Struts

ADO.NET Entity Data Model:--> (maybe Hibernate)

SQL Server:--> Since Oracle owns Sun you now have Oracle and MySQL

Windows: --> Solaris

SQLMenace
yes in Silverlight it could be an Java FX deployed as an applet?
Junior Mayhé
A: 

I would have to say that there is Netbeans for Oracle/Sun, but Eclipse is an independent project.

Jazzy Josh
+3  A: 
    Microsoft                          |  Sun
---------------------------------------------------------------
Visual Studio                      |  Netbeans.org,Eclipse,IntelliJ,JDeveloper
IIS                                |  Glassfish,Tomcat,Apache etc
ASP.NET                            |  JSP, JSF + many others
SQL Server                         |  Oracle,MySql,Derby
ADO.NET Entity Data Model          |  Hibernate
ASP.NET MVC                        |  Spring+ many others
Windows Presentation Foundation    |  Java FX
Windows Communication Foundation   |  JAX-WS
ASP.NET AJAX Toolkit               |  JQuery
Reporting Services/RDLC            |  ???
LINQ to SQL Classes                |  Hibernate
Windows Forms                      |  Swing

You might notice that there are far more options on the Java side, not all of which are from the Sun/Oracle mothership. I'm a .Net developer but like to keep an eye on the Java world, because quite often there will eventually be a .Net version of a java technology (take Hibernate) which then spawns NHibernate which then spawns Microsoft to wake up and create Linq2Sql and Entity framework. Which people then compare to NHibernate and moan enough that Microsoft rapidly rev it and sometimes come up with something pretty cool.

Then there's the languages

Microsoft CLR    |    Sun JVM
-----------------------------
C#               |    Java
F#               |    Scala
Iron Ruby        |    JRuby
Iron Python      |    Jython
VB.Net           |    VB?
???              |    Clojure
???              |    Rhino Javascript
???              |    Groovy
XAML             |    JavaFX script

there's a lot to learn on both sides, my advice is to try play with some stuff from the other side. I've been playing with Java on Android (not technically Sun JVM) and even looking a Scala.

Good luck either way if you're a Java guy you should look at MS stuff (Linq and F#) and a .Net guy should maybe look at Scala and any of the numerous frameworks.

danswain
[clojure-clr](http://github.com/richhickey/clojure-clr) would fit opposite Clojure.
Joel Mueller
ok, groovy seems to be a kind of agile javascript? it's one more scripting language like JavaScript, Rhino, Jython, Jelly, BeanShell, JRuby, Tcl/Java, Sleep, ObjectScript, Pnuts, Judoscript, the Bean Scripting Framework (BSF)... :-)
Junior Mayhé
+2  A: 

The thing is that the Java orbit has many alternatives. I can't imagine a reason that someone would be interested in what is made specifically by Sun/Oracle, except in some enterprise companies that get a (false in my view) comfort from having things from one vendor. So I think your question can be addressed by either referencing what is an Oracle technology, or what is generally available.

Microsoft -> Oracle -> Java Options

Windows -> Solaris -> Windows/*nix/MacOS

Visual Studio -> NetBeans+JDeveloper -> Eclipse+Intellij IDEA (and a few more)

IIS -> Apache + app servers* + Tomcat + Oracle WebCenter Suite -> JBossWeb+Jetty+more

ASP.NET -> JSF -> There are literally too many web frameworks in java to name.

ADO.NET Entity Data Model -> JPA/EJB3 Entity Beans? -> Hibernate + more

ASP.NET MVC -> Redundant with ASP.NET, you won't get an exact line of difference - there are many variations on this in Java, some are more like ASP.NET and some are more like ASP.NET MVC.

Windows Presentation Foundation -> JavaFX+Swing -> SWT

Windows Communication Foundation -> EJB3 Session Beans (+@WebService) -> Axis at least deserves mention here.

ASP.NET AJAX Toolkit -> ADF Faces -> A whole lot of player here. RichFaces, ICEFaces, jMaki

Reporting Services/RDLC -> Oracle Reports Services -> A whole host of options written in Java.

LINQ to SQL Classes -> I doubt there is an equivalent (see here) - After Java 7 things might get closer -> On the JVM, scala will get you there at the moment.

Windows Forms -> Not different than WPF above, although if you are looking for a GUI builder, see the Visual Studio equivalents.

On the "everything from one vendor" side, besides Oracle, IBM can post a showing in almost all of these things. They may not be the official definer in some of these, but they make their own JVM, have their own operating systems, etc.

Note that Microsoft has no equivalent to an Application Server exactly, but they are big on the Java side. Oracle has two at the moment -> Glassfish and Weblogic. In general, there is JBoss, Orion and Websphere off the top of my head.

Yishai
+1  A: 

Microsoft Office -> OpenOffice

Microsoft CRM/Dynamics -> Oracle CRM

There are a lot more, especially when it comes to web applications.

Microsoft Products vs Oracle Product

Rook