• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

My personal test review about SCDJWS 5 beta

 
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
(for moderator: no, i am not posting any specific question nor any specific answer, just saying what candidates should expect)

I posted this in portuguese in http://www.guj.com.br/posts/list/109084.java now I am translating it and posting here:

[BEGIN OF TRANSLATION]

Hi people, in november, 8, I took the test, and so I am posting my review:

There was 150 questions with 3 hours and 15 minutes to answer. The test is horribly tiresome and cumbersome. After 30 questions my head was already hurting. With 80 questions I was with difficult to read correctly the questions due to tireness. With 140 questions the words appeared to dance in the front of my eyes and my mind was already unable to make any idea that makes sense from the questions and answers.

Well, I am a very novice to webservices and I have few experience, I took the test without any hope in passing it. Considering the difficulty level, i think that i have answered 10% to 20% of the questions correctly, specially the last questions when i was very tired and not thinking anymore in getting a better score.

I used almost all the time of the test, left more or less 10 minutes. However i did not re-checked the questions after answering the last questions, i reviewed only those that was shown as "incomplete answer".

There is no drag'n'drop. There are some questions very hard and tricky, there are some with very obvious answers, some with absurd and non-sense answers and a few with tricky subleties, but as an whole the test is hard. Almost all questions have a short 'prelude' (not sure if this word is a good translation) with short answers, just 5 or 6 questions were long. From these long questions, there was 2 that were unfairly gigantic and hard to analyze, i left a comment about them.

The test is strongly teoric, with about 80% of the questions asking for you to compare something with some other thing, asking to answer the advantages of A versus B, when X is more adequate than Y, which things compose XXX, what should you use to do something, show what answers apply to some case given in the question 'prelude'. In the other 20% you will see java code snippets, SOAP messages, XMLs and WSDLs and say what is right and what is wrong with them. There was just three questions (if I remember correctly) showing java code to create SOAP messages and do some XML processing, so it is not needed too much in this beyound classes and package names and the most important method names. EDIT (in the original post in portuguese): To makes it clear, there are few questions about API contents, no more than 5 to 10.

The most important topics for studing are WS-I Profile, SOAP, WSDL and XML-namespaces.

Section 1: XML Web Service Standards
* 1.1 Given XML documents, schemas, and fragments determine whether their syntax and form are correct (according to W3C schema) and whether they conform to the WS-I Basic Profile 1.1.
* 1.2 Describe the use of XML schema in Java EE Web services

Section 7: Java EE Web Services
* 7.4 Describe the role of the WS-I Basic Profile when designing Java EE Web services.



These objectives have a heavy weight in the test. There was lots of questions about WS-I Basic Profile (and since i don't even know what is the purpose of this thing, i am screwed) and a good number of questions showing XMLs full of namespaces and questions about these namespaces. Frequently, these things was mixed with other thing of the test, like SOAP and WSDL.

Section 2: SOAP 1.2 Web Service Standards
* 2.1 List and describe the encoding types used in a SOAP message.
* 2.2 Describe the SOAP Processing and Extensibility Model.
* 2.3 Describe SOAP Message Construct and create a SOAP message that contains an attachment.

Section 5: REST, JSON, SOAP and XML Processing APIs (JAXP, JAXB and SAAJ)
* 5.7 Create and use a SOAP message with attachments using the SAAJ APIs.

Section 9: Developing Web Services
* 9.5 Implement a SOAP logging mechanism for testing and debugging a Web service application using Java EE Web Service APIs.
* 9.6 Given a set of requirements, create code to handle system and service exceptions and faults received by a Web services client.

Section 11: General Design and Architecture
* 11.3 Describe how to handle the various types of return values, faults, errors, and exceptions that can occur during a Web service interaction.



BURN THE SOAP ON YOUR HEAD! Learn all the possible forms of message's structure, the name of the elements. Valid and invalid SOAP messages. SOAP faults. And questions in a more arquitectural level asking if a webservice should return a soap fault or not in some specific case, when it is more convenient that the message be "this way" or "that way".

Section 3: Describing and Publishing (WSDL and UDDI)
* 3.1 Explain the use of WSDL in Web services, including a description of WSDL's basic elements, binding mechanisms and the basic WSDL operation types as limited by the WS-I Basic Profile 1.1.
* 3.2 Describe how WSDL enables one to separate the description of the abstract functionality offered by a service from concrete details of a service description such as "how" and "where" that functionality is offered.
* 3.3 Describe the Component Model of WSDL including Descriptions, Interfaces, Bindings, Services and Endpoints.

Section 9: Developing Web Services
* 9.3 Given an XML schema for a document style Web service create a WSDL file that describes the service and generate a service implementation.



As you should learn all the rules about SOAP, should you learn everything about WSDL too! You must know how the WSDL elements are and their all possible forms.

Section 4: JAX-WS
* 4.1 Explain JAX-WS technology for building web services and client that communicate using XML
* 4.2 Given a set of requirements for a Web service, such as transactional needs, and security requirements, design and develop Web service applications that use JAX-WS technology
* 4.3 Describe the Integrated Stack (I-Stack) which consists of JAX-WS, JAXB, StAX, SAAJ
* 4.4 Describe and compare JAX-WS development approaches.
* 4.5 Describe the features of JAX-WS including the usage of Java Annotations.
* 4.6 Describe the architecture of JAX_WS including the Tools SPI that define the contract between JAX-WS tools and Java EE.
* 4.7 Describe creating a Web Service using JAX-WS.
* 4.8 Describe JAX-WS Client Communications Models.
* 4.9 Given an set of requirements, design and develop a Web service client, such as a Java EE client and a stand-alone client, using JAX-WS.
* 4.10 Given a set of requirements, create and configure a Web service client that accesses a stateful Web service.



Not much questions about this, but not few too. There was questions asking the relation of JAX-WS with the other things. There was two questions about APT (Annotation Processing Tool). Very teoretic questions here. [red]There was questions about migration from JAX-RPC to JAX-WS and differences between them, but this is not in the objectives![/red]

Section 5: REST, JSON, SOAP and XML Processing APIs (JAXP, JAXB and SAAJ)
* 5.1 Describe the characteristics of REST Web Services.
* 5.2 Describe the characteristics of JSON Web Services.
* 5.3 Compare SOAP web services to REST Web Services.
* 5.4 Compare SOAP web services to JSON Web Services.
* 5.5 Describe the functions and capabilities of the APIs included within JAXP.
* 5.6 Describe the functions and capabilities of JAXB, including the JAXB process flow, such as XML-to-Java and Java-to-XML, and the binding and validation mechanisms provided by JAXB.



About JSON just a few questions. There was 3 or 4 asking when is better to start from WSDL and go to java after and when to start from java and go to WSDL (with the wsimport and schemagen tools, I guess). Some about REST vs SOAP, the behaviour of JAXB and the steps in java classes generation from a WSDL by wsimport.

Section 3: Describing and Publishing (WSDL and UDDI)
* 3.4 Describe the basic functions provided by the UDDI Publish and Inquiry APIs to interact with a UDDI business registry.

Section 6: JAXR
* 6.1 Describe the function of JAXR in Web service architectural model, the two basic levels of business registry functionality supported by JAXR, and the function of the basic JAXR business objects and how they map to the UDDI data structures.
* 6.2 Create JAXR client to connect to a UDDI business registry, execute queries to locate services that meet specific requirements, and publish or update information about a business service.



There are a lot of questions about UDDI, commonly asking how do you access, how do you use, where is adequate to use, how to publish something in it and how to integrate it with JAXR. About JAXR per se there is a lot too, including asking which class do "this" or "that" and how to use. Since I do not know anything about JAXR, I just tried to guess the answers based just on intuition.

Section 7: Java EE Web Services
* 7.1 Identify the characteristics of and the services and APIs included in the Java EE platform.
* 7.2 Explain the benefits of using the Java EE platform for creating and deploying Web service applications.
* 7.3 Describe the functions and capabilities of the JAXP, DOM, SAX, StAX, JAXR, JAXB, JAX-WS and SAAJ in the Java EE platform.

Section 9: Developing Web Services
* 9.2 Given a set of requirements, develop code to process XML files using the SAX, StAX, DOM, XSLT, and JAXB APIs.



There are not much questions about this. The objectives 7.1 and 7.2 are just a few easy concepts. The objective 7.3 says about comparing SAX, StAX and DOM (who is pull and who is push, SAX is just for reading, DOM and StAX are read-write, DOM works with trees and SAX and StAX linearly, SAX is one-way, StAX is two-way and DOM allows random access). And know the purpose of JAXP, JAXR, JAX-WS and SAAJ.

Section 8: Security
* 8.1 Explain basic security mechanisms including: transport level security, such as basic and mutual authentication and SSL, message level security, XML encryption, XML Digital Signature, and federated identity and trust.
* 8.2 Identify the purpose and benefits of Web services security oriented initiatives and standards such as Username Token Profile, SAML, XACML, XKMS, WS-Security, and the Liberty Project.
* 8.3 Given a scenario, implement Java EE based web service web-tier and/or EJB-tier basic security mechanisms, such as mutual authentication, SSL, and access control.
* 8.4 Describe factors that impact the security requirements of a Web service, such as the relationship between the client and service provider, the type of data being exchanged, the message format, and the transport mechanism.
* 8.5 Describe WS-Policy that defines a base set of constructs that can be used and extended by other Web specifications to describe a broad range of service requirements and capabilities.



There was 10 to 15 questions about this. They were together in a block one after another almost without being mixed with other topics of the test. In these questions I was a blind man in a soccer game kicking the ball in random directions. I don't understand this, just a few about digital signature. I did not see anything about liberty project.

Section 9: Developing Web Services
* 9.1 Describe the steps required to configure, package, and deploy Java EE Web services and service clients, including a description of the packaging formats, such as .ear, .war, .jar, annotations and deployment descriptor settings.



Just two or three questions.

Section 11: General Design and Architecture
* 11.1 Describe the characteristics of a Service Oriented Architecture (SOA) and how Web services fit to this model.
* 11.2 Given a scenario, design a Java EE web service using Web Services Design Patterns (Asynchronous Interaction, JMS Bridge, Web Service Cache, Web Service Broker), and Best Practices.
* 11.4 Describe the role that Web services play when integrating data, application functions, or business processes in a Java EE application.



Few questions in these objectives. Two or three about SOA. About patterns, there was one about Web Service Cache, one about Web Service Broker and nothing about Asynchronous Interaction and JMS Bridge. But, since I don't know these patterns, maybe they were implicit in other questions and I did not notice.

Section 9: Developing Web Services
* 9.4 Given a set of requirements, create code to create an XML-based, document style, Web service using the JAX-WS APIs.

Section 12: Endpoint Design and Architecture
* 12.1 Given a scenario, design Web Service applications using information models that are either procedure-style or document-style.
* 12.2 Describe the function of the service interaction and processing layers in a Web service.
* 12.3 Design a Web service for an asynchronous, document-style process and describe how to refactor a Web Service from a synchronous to an asynchronous model.
* 12.4 Describe how the characteristics, such as resource utilization, conversational capabilities, and operational modes, of the various types of Web service clients impact the design of a Web service or determine the type of client that might interact with a particular service.



There are a significant number of questions in these objectives. A lot of decoration (not sure if this word translates well) and questions about "someone wants to do X, what should he use?". A lot of questions in these objectives was about EJB vs Servlets as endpoints, document-style vs procedure-style, interaction layer vs processing layer and stateful vs stateless webservices.

Section 10: Web Services Interoperability Technologies
* 10.1 Describe WSIT, the features of each WSIT technology and the standards that WSIT Implements for each technology and how it works.
* 10.2 Describe how to create a WSIT client from a Web Service Description Language (WSDL) file.
* 10.3 Describe how to configure web service providers and clients to use message optimization.



A significant number too. But since I don't understand absolutely nothing about these, I even don't know what to comment.

[red][big]NOW, THE WORSE PART:[/big][/red]

Section 10: Web Services Interoperability Technologies
* 10.4 Create a Microsoft Windows Communication Foundation (WCF) client that accesses a Java web service.
* 10.5 Describes the best practices for production and consumption of data interoperability between WCF web services and Java web service clients or between Java web services and WCF web service clients.



The questions about this made me horrorized and revolted, i could not believe in what i was seeing. THESE QUESTIONS WERE ABOUT .NET!!!
There was a question that made me furious asking how .NET creates webservices. Including answers stating about Visual Studio using menus and wizards, and .Net 3.0 very specifics things. A purely .Net question in a java certification test! I left a long comment stating that this question should be invalide and eliminated.

The other questions involving WCF involved .NET too, but comparing .NET to Java. Totalizing there was something between 8 to 12 questions with some thing about .NET.

[red][very big]I ASK TO EVERYONE WHO WILL TAKE THE TEST TO LEFT A COMMENT PROTESTING AGAINST THE .NET QUESTIONS, IN THE HOPE THAT THEY WOULD BE DISCARDED IN THE DEFINITIVE VERSION OF THE TEST! LET'S REFUTE THE OBJECTIVES 10.4 AND 10.5![/very big][/red]

There was too a question citing Ant and Netbeans and two citing Kerberos. I left comments saying that this should not be in the test. I would appreciate if people who will take the test do the same thing.

[END OF TRANSLATION]

Finally I congratulate the people who elaborated the test. It is a good one. However these .NET part is the rotten orange that may rot all the others, so you should really rethink them in the final version of the test.

BTW: I already opened another thread here about .Net questions.

[EDIT: Corrected some typos]
[ November 10, 2008: Message edited by: Victor Williams Stafusa da Silva ]
 
Bartender
Posts: 3903
43
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the report !


BURN THE SOAP ON YOUR HEAD! Learn all the possible forms of message's structure, the name of the elemnts. Valid and inavlid SOAP messages. SOAP faults.



What version of SOAP is tested 1.1 or 1.2, because they differ in faults syntax.

thanks,
MZ
 
Ranch Hand
Posts: 268
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
MZ,

When are you going for the test ?
 
Mikalai Zaikin
Bartender
Posts: 3903
43
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Sim Kim:
MZ,

When are you going for the test ?



Scheduled on 21st
 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mikalai Zaikin:


Scheduled on 21st



Man, are you going to release study notes for this new version?
 
Mikalai Zaikin
Bartender
Posts: 3903
43
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Elder Cris�stomo:


Man, are you going to release study notes for this new version?



Maybe, but not sure about dates.
Let's discuss the subject of the topic.
Anybody can comment on vrsion of SOAP specification tested ?
 
Bartender
Posts: 2856
10
Firefox Browser Fedora Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

(for moderator: no, i am not posting any specific question nor any specific answer, just saying what candidates should expect)



Actually its a good thing to share your experience, after all the community is for helping and sharing ideas in a nicer way .
We are against the exam questions because the exam taker has entered into an agreement with Sun that he/she will not disclose the inforamtion to anyone else.Moreover Sun owns the copyrights for those questions.No one can publish them anywhere without permission from Sun.

Finally by using such approaches one cheats nobody else but him/her self. There is no sense in merely passing an exam although he/she does not know the concepts.
 
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Victor Williams Stafusa da Silva:
I ASK TO EVERYONE WHO WILL TAKE THE TEST TO LEFT A COMMENT PROTESTING AGAINST THE .NET QUESTIONS, IN THE HOPE THAT THEY WOULD BE DISCARDED IN THE DEFINITIVE VERSION OF THE TEST! LET'S REFUTE THE OBJECTIVES 10.4 AND 10.5!



I already tried to respond to this in your other topic. And I am going to try to say this in the nicest way possible: statements like this make you look like a "language/platform bigot". Considering that you have chosen to enter the arena of heterogeneous distributed computing that is an untenable attitude. If you actually wish to work in this area then it's time to "keep a stiff upper lip" and move on - otherwise heterogeneous distributed computing may not be your thing.

Software development is hard.
Distributed computing is even harder (always has been).

Ted Neward Web Services and Security


If you're out there today building a web service and you're not downloading the other platform and working with that as part of your test leads, if you're building a Java web service, you have to download the .NET framework, you have to download NUnit and you have to write your unit tests as NUnit .NET unit tests. If you don�t want to learn C# that�s fine. Visual J# is actually very approachable for many Java programmers, so you can just write your tests in NUnit J# and you don�t have to learn any of the .NET plumbing because all you're trying to do is test it to make sure it works, but if you're not doing that you're fooling yourself. You're just checking off the marketing check box that says, �Oh, we�re a web service,� can�t do that. You have to go into this with this mindset that says, �I care about interoperability.� If you just want to do CORBA with angle brackets, fine, you can do it, but don�t be surprised when partners come to you and say it doesn�t work and when you tell them, �Well, that�s because the problem is on your end� don�t be surprised if they walk away and sever the partnership. That�s really what we have to do from a practical perspective to make this web services stuff come to fruition. Beat the vendors into line, beat the developers into line, and we can be successful.



If you access a SOAP web service that is not under your control there is a good chance that it will be implemented in .NET. For testing you need a faux-service that is under your control. To ensure that the faux-service behaves as close as possible to the real thing you should implement it on the same platform (same version of .NET) as the original.

If you plan to expose a business critical SOAP web service to the "outside" then you better make sure that it is .NET friendly because you do not want to alienate business partners that happen to use .NET - that is just bad for business. So to test your Java SOAP web service your are going to have to build some .NET test clients to ensure "that your web service contract can be easily digested".

I for one applaud the people at Sun Education/Certification for being this open-minded - they are simply being realistic. Yes, it makes the certification harder but the SCDJWS (1.4) was always one of the harder ones but it made you learn something useful, made you more competent and it's good to see that this continues in the SCDJWS 5.
 
Victor Williams Stafusa da Silva
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Peer Reynders:

I know what you said, I just translated it as it is.

EDIT: However, I still does not agree with your point of view. Just because Microsoft did it in some way that makes portability weak, and a lot of people uses .NET, this does not means that the java world should be conformed with this and accept blindly whatever microsoft defined that .Net should do.

Java spirit was always of platform independence and portability, however these test objectives go in the opposite way, they are a huge step in direction of vendor lock-in and platform dependence. More recently java went to the open-source way too, but these objectives goes in direction of the proprietary code.

SCWCD does not includes JSF even if it is very important, defined by JSR, and most of the real web developers should know it. SCWCD does not includes Struts 2 too, which is a very popular web framework and most a lot of real web developers should know too. However SCDJWS is being infected with these microsoft things. No other java certification went into a non-java, vendor lock-in, platform dependent field, but SCDJWS 5 is sadly entering into this.

If SCDJWS can include proprietary microsoft things, why SCWCD and SCBCD could not include container specific things or one of those frameworks out there? Because this is unfair and against java's spirit!

If so, the "Sun Certified Developer for Java Web Services" certification should be renamed to "Sun Certified Developer for Java Web Services with .NET integration".

I keep my protest.

EDIT 2: By the way, one of the objectives of all the webservices philosofy is platform independence, vendor neutrality and language neutrality. Again, these test objectives goes in the opposite way of all of that.

[ November 11, 2008: Message edited by: Victor Williams Stafusa da Silva ]
[ November 11, 2008: Message edited by: Victor Williams Stafusa da Silva ]
 
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mikalai Zaikin:

Anybody can comment on vrsion of SOAP specification tested ?



Hi MZ,

https://coderanch.com/t/419082/java-Web-Services-SCDJWS/certification/FREE-CERTIFICATION-BETA-SCDJWS

In objectives is stated SOAP 1.2. Note: WS-I BP1.1 requires SOAP 1.1(no mention to SOAP 1.2) so be careful answering questions regarding compatibility...

Rgrds,
JV -- julioviegas.com
 
Victor Williams Stafusa da Silva
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Peer Reynders:
If you access a SOAP web service that is not under your control there is a good chance that it will be implemented in .NET. For testing you need a faux-service that is under your control. To ensure that the faux-service behaves as close as possible to the real thing you should implement it on the same platform (same version of .NET) as the original.

If you plan to expose a business critical SOAP web service to the "outside" then you better make sure that it is .NET friendly because you do not want to alienate business partners that happen to use .NET - that is just bad for business. So to test your Java SOAP web service your are going to have to build some .NET test clients to ensure "that your web service contract can be easily digested".



Java has (or at least should have) to be as powerful and flexible as .Net or more. Your argument simply says ".NET won and .NET is better". The webservices technology and XML are (or at least should be) platform independent and vendor neutral. If some .NET tool vomits some SOAP or WSDL that is almost intragable for any non-.NET thing, this does not means that we should be .NET-friendly, this means that .NET is unfriendly to everything else. I agree that being .NET-friendly is good for business, but the big problem is that .NET-friendship thing defeats completely the centrals purpose of webservices: platform independence and vendor neutrality.

Originally posted by Peer Reynders:

I for one applaud the people at Sun Education/Certification for being this open-minded - they are simply being realistic. Yes, it makes the certification harder but the SCDJWS (1.4) was always one of the harder ones but it made you learn something useful, made you more competent and it's good to see that this continues in the SCDJWS 5.



I just thinks that this hurts the credibility of the Sun Education/Certification. This has nothing to do to the test being easy or hard, it has to do with the test being java and following the java philosofy.
 
Peer Reynders
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Good job on the other parts of your original post by the way!


Originally posted by Victor Williams Stafusa da Silva:
Just because Microsoft did it in some way that makes portability weak, and a lot of people uses .NET, this does not means that the java world should be conformed with this and accept blindly whatever microsoft defined that .Net should do.



That is an isolationist view. Microsoft isn't innocent by any stretch of the imagination. However in this case they don't deserve all of the blame either. Basically this situation has come to pass because of the convenience over correctness allure of the RPC-oriented paradigm, developers who simply wanted to transparently "beam" their objects over the network barrier without ever having to leave the comfort of their own programming language/platform (not a platform-independent attitude by a long shot) leading to contract-last code generators (.NET and Java-based alike) that ultimately let platform dependent types and idioms (from the programming language) leak into the web service contract. And with its roots in the RPC paradigm WSDL ultimately turned out to be flawed.

Ted Neward Hangin' in Vegas


Note to those who didn't attend the session: you didn't hear me say it, so I'll repeat it: I hate WSDL almost as much as I hate Las Vegas. Ask me why sometime, or if I get enough of a critical mass of questions, I'll blog it. If you've seen me do talks on Web Services, though, you've probably heard the rant: WSDL creates tightly-coupled endpoints precisely where loose coupling is necessary, WSDL encourages schema definitions that are inflexible and unevolvable, and WSDL intrinsically assumes a synchronous client-server invocation model that doesn't really meet the scalability or feature needs of the modern enterprise. And that's just for starters. I hate WSDL.



I finally get REST. Wow.

It's depressing to think that SOAP started just about 10 years ago and that now that everything is said and done, we built RPC again.



A Sun paper A Note on Distributed Computing back from 1994 clearly outlines that you should never try hide remote access and make it look like local access (which is what RPC-oriented systems try to do).

Fact is that there can even be quirky behavior between one Java-based client stack and another Java-based server stack (JAX-RPC, JAX-WS, Apache Axis, Axis2, CXF, etc.). However the simple fact is that as a Java EE 5 developer of SOAP web services you will most likely have to at one point or another deal with web services and clients implemented on the "other major platform".


Originally posted by Victor Williams Stafusa da Silva:
Java spirit was always of platform independence and portability


I think you actually mean "vendor independence" and portability. The platform you are talking about is the "Java Enterprise" platform - that is one platform that can be implemented by many vendors. Also "vendor independence" was something that applied to "Business Components" (EJBs - EARSs) and "Web Components" (Servlet, JSP - WARs). Ever tried to move "Web Service Components" from one vendor platform to another? Many have tried in J2EE 1.4 and failed - I doubt that much has changed in Java EE 5; if you are lucky you might be able to recompile your code on the other vendor's platform - just don't count on it. Web services where supposed to be "platform-agnostic", allowing disparate platforms to "interoperate". Matters have improved significantly compared to the early days but nothing is perfect.


SCDJWS is being infected with these microsoft things.


Incorrect. All the other certifications you mention only deal with one platform - the "Java Enterprise" platform. There is no reason to deal with the "outside world". Web Services on the other hand are all about dealing with the "outside world". It was commendable in the SCDJWS 1.4 that a lot of the objectives actually addressed non-java web service technologies; XML, Namespaces, XML Schema, SOAP, WSDL, WS-I Basic Profile, SAML, XACML, XKMS, WS-Security. So the certification was primarily a "SOAP web service" certification which happened to specialize in web service implementation on the Java Enterprise platform. Now they have gone further and are trying to ensure that you can deal with the many issues that can come up when you are dealing with clients and services that are implemented with other "non-Java Enterprise platforms" - so it makes sense to actually pick the "other major platform" - good for them.


If so, the "Sun Certified Developer for Java Web Services" certification should be renamed to "Sun Certified Developer for Java Web Services with .NET integration".


A lot of the hype around web services was always about "interoperability" - so "web services" implies "integration of heterogeneous systems".


Because this is unfair and against Java's spirit!


Sorry, the software development world does not revolve around Java. Even Sun has seen the light and making it easier for other languages to run on the JVM.
Dead like Cobol
Developers: Expect New Major Language Within Five Years (or "Why the Next Five Years Will Be About Languages")


Originally posted by Victor Williams Stafusa da Silva:
Your argument simply says ".NET won and .NET is better"


  • I never said that and I never implied that.
  • However I also never said that .NET isn't a credible business platform.
  • At the time I actually acquired MCSD.NET and SCJP 1.4, SCWCD 1.4, SCBCD 1.3, SCDJWS 1.4 certifications - ultimately it just became too time consuming.
  • Anybody who wants to adopt .NET I'll ask: "where is COM now?" - and I'll also point out that Microsoft's business is based on Fire and Motion which tends to increase software maintenance costs.
  • Beta-max was supposedly superior to VHS - however people still say VHS "won".

  • So that fallacy is entirely yours.


    If some .NET tool vomits some SOAP or WSDL that is almost intragable for any non-.NET thing, this does not means that we should be .NET-friendly


    It's all the "contract-last" code generators, .NET, Java, C++ based alike, that are doing the vomiting. Developers wanted them because they didn't want to learn all about XML, XML Schema, SOAP, WSDL and how to design a proper web service contract and they wanted to keep their precious objects and built-in types - and all the tool/framework vendors gave them those contract-last code generators (though Spring didn't). It just happens that when you run into some "vomit" it will most likely come from .NET because so many people keep using it.


    but the big problem is that .NET-friendship thing defeats completely the centrals purpose of web services: platform independence and vendor neutrality.


    SOAP web services would have had these problems without the existence of .NET or Microsoft. Some standards are too open to interpretation while others too complicated to be useful. Currently the existence of .NET is the least of "SOAP web services" worries.

    RPC and REST: Dilemma, Disruption, and Displacement

    I just thinks that this hurts the credibility of the Sun Education/Certification.


    Quite on the contrary - it shows that they are concerned with real issues, rather than simply trying to show their own products in the best light (which was typical of the MS certifications).
    [ November 11, 2008: Message edited by: Peer Reynders ]
     
    Amit Ghorpade
    Bartender
    Posts: 2856
    10
    Firefox Browser Fedora Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by Victor Williams Stafusa da Silva
    SCWCD does not includes JSF even if it is very important, defined by JSR, and most of the real web developers should know it. SCWCD does not includes Struts 2 too, which is a very popular web framework and most a lot of real web developers should know too.



    I am not at all related to the exam design team at Sun but in my view, most of the web applications seem doing fine without JSF and Struts.Can a web application do without servlets?
    Moreover Struts is not a Sun technology.
     
    Sim Kim
    Ranch Hand
    Posts: 268
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Amit,

    Moreover Struts is not a Sun technology.



    If such is the case then why .NET Webservice,ANT tool,Visual Studio is being asked in SCDJWS .

    I am not against putting questions regarding interopertibility with .NET but we should not have questions related to Visual Studio as such !
     
    Amit Ghorpade
    Bartender
    Posts: 2856
    10
    Firefox Browser Fedora Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    The .Net issue is already addressed by Peer above and yes I agree that one should not expect Visual Studio IDE questions
     
    Greenhorn
    Posts: 10
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Please look at my notes @ http://scdjws-beta.blogspot.com/

    I have a lab from Sun site which takes us through WCF and .NET

    Good Luck on your exams
     
    Peer Reynders
    Bartender
    Posts: 2968
    6
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by Sim Kim:
    but we should not have questions related to Visual Studio as such !



    Are there? I doubt it. If you look at The WSIT Tutorial: Creating a WCF Client you'll see that it is entirely based on command-line utilities that can be obtained from "community editions" of Microsoft products.

    I can't see Sun encouraging their certification holders/seekers to buy full-blown editions of Visual Studio to further enrich Microsoft (Visual Web Developer 2008 Express Edition (free) is supposed to feature the ASP.NET Web Service Application project template for creating Web services; however for full WCF support probably Visual Studio Professional/Standard is still necessary). But playing around with freely available command-line utilities and nosing around MSDN Windows Communication Foundation (WCF), MSDN Visual C# and .NET web services community web sites is fair game.

    Chances are that you only have to completely understand the .NET material that appears on Sun's own sites and documents for the purposes of the certification. To facilitate that understanding you may have to consult the resources that I mentioned earlier (Google is your friend).

    However in a professional capacity I would expect any so called "web service developer" to dive without hesitation into the tool for the platform that a (potential) business partner is using regardless how "disagreeable" the tool's origins may be - nobody says you have to be happy about it; just get it done. One of the problems is that many web services (regardless of platform) are developed by application developers who neither have the interest nor the time to become competent in the domain of SOAP web service technologies.
     
    Victor Williams Stafusa da Silva
    Ranch Hand
    Posts: 34
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    It is hard to tell exactly the problem in the test about Visual Studio, ant, and netbeans without posting too much details about the questions and answers.

    There are not questions focusing this things, however some questions cite them in a way that you will need to know enough about their behavior to judge some answers as true or false.

    Amit:
    I agree that there are lot's of good web applications without struts and JSF out there, and even some not-so-good without JSP. But in the other hand, there a lot of good webservices out of there that don't know nothing about .Net.

    SCWCD should not study Struts because it is not vital for the development of a java web application and it is not a Sun technology. However .Net is not vital to the development of java webservices and is not a sun technology either. So, why SCDJWS will include .Net things and SCWCD cannot include struts things?
    (I am not asking for SCWCD including struts, I am just asking for SCDJWS do not include .Net).

    Peer:

    Good job on the other parts of your original post by the way!


    Well, at least in 90% of the thing we are fine.

    So that fallacy is entirely yours.


    Well, maybe I just was too strong in that affirmation. What i did mean to say is that java should not be following .Net just because microsoft decided to do things in it own way and they are in numerical advantage. Yes, there are all that convenience over correctness things, and honestly, not just Microsoft did that, almost everybody did, including java. But again .Net != non-java and even if it was equals, still we would be glorifying the .Net convenience over correctness.

    A lot of the hype around web services was always about "interoperability" - so "web services" implies "integration of heterogeneous systems".


    heterogeneous yes, but again .NET != non-java. And again, THEY went wrong using convenience over correctness, and now SCDJWS is going to glorify that by asking questions pushing java in the .Net way to be.

    I think you actually mean "vendor independence" and portability.


    Yes.

    Sorry, the software development world does not revolve around Java. Even Sun has seen the light and making it easier for other languages to run on the JVM.



    The problem is not that. The problem is all the vendor lock-in thing.
    [ November 12, 2008: Message edited by: Victor Williams Stafusa da Silva ]
     
    Peer Reynders
    Bartender
    Posts: 2968
    6
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by Victor Williams Stafusa da Silva:
    However .Net is not vital to the development of java webservices and is not a sun technology either.



    Even a web service implemented in Java it is supposed to interoperate with other web services regardless of the platform that they are implemented on. The correct way to design a web service is to determine the needs of the client and then to design the documents that need to be exchanged to serve the client. All of this can be done even before you know what you are going to use to implement the service and this "platform-agostic" phase is a large part of web service development. In reality many web services aren't built that way. Somebody's got an application that they wish to expose as a service over the (intra-)web - next thing part of their object model is magically transformed into a WSDL and nobody even stops to think about the crazy messages and documents that the server offers the client to get the job done.

    Nobody cares if the Java web services stack has difficulty consuming from a server or producing for a client that is based on Joe Blow's PHP-based web services toolkit. However if the Java web services stack had trouble interoperating with .NET-based web services that could be a show stopper for many organizations regardless whether these quirks are problems with the Java web services stack or .NET. Some large organizations actually use both platforms - sometimes as a result of a company merger, sometimes because separate business units had the latitude to do their own IT thing. The Java web services stack has to be able to deal with quirks of other major players to be successful and the professionals using the Java web services stack need to know how to deal with the problems that will come up. If some client has trouble digesting your service you may have to review your document design and simplify it even if the original document is technically legal XML; for example:
    SOA in Practice: The Art of Distributed System Design (p44):

    Based on my own experience (and others), I recommend that you have a basic set of fundamental types that you can compose to other types (structures, records) and sequences (arrays). Be careful with enumerations (an anachronism from the time when each byte did count - use strings instead), inheritance and polymorphism (even when XML supports it).


    On the other hand you may need to know how to produce quirky requests and/or consume quirky responses when you consume another web service. Diagnosing these problems often requires that you build a client and/or service on the other platform. Now if you have the clout and authority to tell the guys on the other end how to do their job, great; most people won't be in that position.


    heterogeneous yes, but again .NET != non-java.


    .NET is still the most likely non-Java web services platform that a Java web services developer has to deal with.


    And again, THEY went wrong using convenience over correctness, and now SCDJWS is going to glorify that by asking questions pushing java in the .Net way to be.


    "Convenience over correctness" is an industry wide issue and I fail to see how the SCDJWS "glorifies" anything .NET - Sun Education/Certification simply is making sure that you are capable of going the distance when it comes to dealing with the most likely interoperability issues.


    The problem is not that. The problem is all the vendor lock-in thing.


    "Vendor-independence" is also an over-hyped concept. There are plenty of gaps in the Java Enterprise specification that the vendors have to fill. Organizations do not change application servers on a whim just like they don't change their RDBMS. So if you are paying for your application server use the features it has - just know what you are getting yourself into. The problem with Microsoft is that you have to keep pace with their technology product lines forcing you to constantly upgrade your implementation even if you don't need any new features.
    [ November 12, 2008: Message edited by: Peer Reynders ]
     
    Ranch Hand
    Posts: 341
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    About .NET: Like I mentioned in my other post, WSIT is all about interoperability with .NET (WCF) web services so questions about .NET, WCF can be expected. Questions about Vistual Studio is little too much but I suspect they may have taken help from microsoft people to design those questions and a tool question might have slipped through the cracks. I highly doubt it will be counted. I also believe Netbeans questions shouldn't be there nor should there be any ANT questions. Are you sure they were ANT questions and not APT questions? APT = Annotation Processing Tool, which generates code from web service source code and may be in scope of the exam.

    IMO, Sun should stick to the standards and specifications - after all that's what made other certifications popular. APT, wsgen etc. are vendor provided utilities so they shouldn't be on the exam. Similarly, jaxws-commons is Sun's extension of JAX-WS under which it provides JSON binding etc. so that shouldn't be on the exam either. General questions about various bindings (including JSON) comes under design and architecture considerations so they can be included. This is just my $0.02 but I strongly believe each candidate should leave comments and help shape the exam, after all, that's the whole point of having beta exams.
     
    Victor Williams Stafusa da Silva
    Ranch Hand
    Posts: 34
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by Chintan Rajyaguru:
    About .NET: Like I mentioned in my other post, WSIT is all about interoperability with .NET (WCF) web services so questions about .NET, WCF can be expected. Questions about Vistual Studio is little too much but I suspect they may have taken help from microsoft people to design those questions and a tool question might have slipped through the cracks. I highly doubt it will be counted. I also believe Netbeans questions shouldn't be there nor should there be any ANT questions. Are you sure they were ANT questions and not APT questions? APT = Annotation Processing Tool, which generates code from web service source code and may be in scope of the exam.

    I said early in this topic:

    It is hard to tell exactly the problem in the test about Visual Studio, ant, and netbeans without posting too much details about the questions and answers.

    There are not questions focusing this things, however some questions cite them in a way that you will need to know enough about their behavior to judge some answers as true or false.


    There was ONE question citing ant. ONE question citing netbeans. ONE question citing Visual Studio. TWO questions citing APT and TWO questions citing Kerberos. No question focused theses things (maybe one focused APT, but not sure, my memory is not very clear). However these things are cited in a way that required some knowledge of them to answer the question correctly. I think that just APT is fine there.

    Originally posted by Chintan Rajyaguru:

    IMO, Sun should stick to the standards and specifications - after all that's what made other certifications popular. APT, wsgen etc. are vendor provided utilities so they shouldn't be on the exam. Similarly, jaxws-commons is Sun's extension of JAX-WS under which it provides JSON binding etc. so that shouldn't be on the exam either. General questions about various bindings (including JSON) comes under design and architecture considerations so they can be included. This is just my $0.02 but I strongly believe each candidate should leave comments and help shape the exam, after all, that's the whole point of having beta exams.


    I did not saw jaxws-commons in the exam. There was very few questions about JSON and all of them were very superficial and conceptual, asking only what it is and what is it's purpose, these questions were among the easiest.

    I still thinks that .Net should be not in the exam. However, looks like that few people here agree with me, and I am tired of the flamewar too.
    [ November 14, 2008: Message edited by: Victor Williams Stafusa da Silva ]
     
    With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    reply
      Bookmark Topic Watch Topic
    • New Topic