This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I start looking at web services. I have been using Java, Servlet, xml, xslt for about two year.
- Should I go with .net or stay with Java? - Seems there are many libraries in Java like SOAP and Axis that make learning curve a bit high and in .Net, they make them seamlessly although Visual Studio is pricy. Am I correct? - which books and implementations are up-to-date? - is there any tools/IDE in Java that speed up building web service application?
Originally posted by Tony Karta: I start looking at web services. I have been using Java, Servlet, xml, xslt for about two year.
- Should I go with .net or stay with Java?
Web services aren't really an application category in themselves. A Service could be said to be an application design style - but that doesn't depend on web service technology either - however the "XML/SOAP over HTTP" thing does bring along the potential for interoperability and language implementation independence. The choice of .NET over Java (EE) really is determined by the existing infrastructure and/or code base.
Originally posted by Tony Karta: - Seems there are many libraries in Java like SOAP and Axis that make learning curve a bit high and in .Net, they make them seamlessly although Visual Studio is pricy. Am I correct?
I agree that the learning curve can be intimidating on the Java EE side - but you have to put things into perspective. VS2003 made creating .NET to WSDL web services very easy and those could usually be accessed by .NET clients. However if you were going to try to create an "industrial strength, interoperable web service" you would still have to digest material like Expert Service-Oriented Architecture in C#: Using the Web Services Enhancements 2.0 first to acquire the necessary body of knowledge because the "easy default settings" are just too limiting. Furthermore, interoperable web services are typically created "WSDL to .NET" or "WSDL to Java", not ".NET to WSDL" or "Java to WSDL". Starting out with a WSDL design usually demands a much better understanding of web services technology by the developer. Also the (pricy) development tools associated with the vendor's applications servers (IBM WebSphere, BEA WebLogic, etc.) do tend to offer a number of vendor specific web service development support tools that can make web service development easier. Despite all the differences XML, XML Schema, SOAP, WSDL, and UDDI are still standards that are common to both platforms. If you want to get started with Java based web services find something suitable (for you personally) from the Web Services FAQ. You may also want to consider reading a (platform-independent) overview of where web services "fit in" and where things are going in Service-Oriented Architecture : Concepts, Technology, and Design. [ October 23, 2005: Message edited by: Peer Reynders ]
I am skimming couple of books and most of them are using Sun's J2EE server 1.4.
my next questions are:
- because Sun server most likely never be used in production. Should I pick up the books that focus on vendor-specific implementation such as weblogic, websphere, JBoss?
- are they much different among them ?
- I still can't find good book, do you have any suggestion? I like tutorial style book that building sample applications than just unrelated small pieces of code throughout the book.
many thanks, tony
Joined: Aug 19, 2005
Originally posted by Tony Karta: because Sun server most likely never be used in production. Should I pick up the books that focus on vendor-specific implementation such as weblogic, websphere, JBoss?
Ideally you should work with the application server that you are going to be using.
Originally posted by Tony Karta: - I still can't find good book, do you have any suggestion? I like tutorial style book that building sample applications than just unrelated small pieces of code throughout the book.
I just in learning stage, in my current job we don't use web services but it make me re-think twice.
If the certification is based on SUN products and they won't be used in real-world, where is the value of this certification compare to .Net? I understand that we learn something but will not make us more marketable, again compare to .net.
even if we don't go to certification, learning curve will still high as companies will use different products? correct me if I'm wrong.
many thanks tony
Joined: Aug 19, 2005
Originally posted by Tony Karta: If the certification is based on SUN products and they won't be used in real-world, where is the value of this certification compare to .Net?
Sun Microsystems is the source of all Java and Java EE orthodoxy, what Sun puts out there is canon. Every member of the anti-Microsoft league has to implement Sun's specifications for their application servers to remain compliant to Java EE - thats the part of the WORA (Write-Once-Run-Anywhere) philosophy.
Corporate entities love their Microsoft desktops but they love their databases more - if they are already using a non-microsoft (IBM, Oracle, etc.) database they are probably already leaning heavily towards the Java platform on the server side.
Microsoft tried to lure corporations into full commitment to COM/DCOM and VB (for the promise of a cheap IT labor force) only to all but abandon it for the next generation of technology (or at least thats how it looked to them) - so many organizations are now reluctant to follow Microsoft again - if Microsoft will not support Microsoft technology (indefinitely), who will (without getting sued)?
Microsoft was counting on Windows Server 2003 (formerly Windows Server .NET) to force .NET into the market at large. Well, it hasn't done so. Again some attempt was made through MS certifications make "cheap" sysadmins available but the fact is that Windows Server 2003 is an OS/Application Server hybrid and as such is a complicated piece of software that you cannot expect to comprehend with only a two year community college education (or less) in IT.
It currently seems that most Windows Server Success Stories are related to larger corporations sorting out their desktops - an important function but usually one that is peripheral to the core business.
.NET is here to stay - but this will mainly happen once the next MS desktop OS with WinFX built in becomes more mainstream. This unfortunately sets up a situation where Java EE would often be chosen for the server-based systems while web service consuming .NET desktop clients could give you the best "presentation". Only the most affluent IT departments will keep both Java EE and .NET developers on staff (or those who through market positioning are forced to deliver both Java and .NET clients). Most (smaller) organizations will simply use their existing Java EE staff to create the desktop clients, possibly using SWT instead of Swing for more performant (and native looking) desktop clients. Others will be entirely Microsoft shops.
So if you want to compare .NET/Windows Server to something compare it to BEA Weblogic, or IBM Websphere, or Oracle OC4J.
Sun Java certifications are about specifications, not Sun products.
And web services on any platform are based on a lot of specifications: XML, XML Schema, SOAP, WSDL, UDDI and WS-Security (not to mention second generation standards like WS-AtomicTransaction, WS-Coordination, WS-BusinessActivity, WS-BPEL, WS-CDL, WS-Addressing, WS-ReliableMessaging, WS-Eventing, etc.) - which explains the steep learning curve.