Overview of Top-down and Bottom-up SOAP Web Service Development

Web services can be created using two ways: top-down development and bottom-up development.


Top-down web services development

  • Top-down Web services development involves creating a WSDL and then creating the Web service using the WSDL file. 

    • In top-down approach, first you design the implementation of the Web service by creating a WSDL file. You can then create the Web service skeleton Java classes from the wsdl, and add the required code. 

  • JAX-WS tool wsimport can be used for creating a top down web service.

    • The wsimport can create stubs from a wsdl. 

    • See notes on JAX-WS tools wsimport and wsgen.

  • Top down approach is also called as contract first or WSDL first approach.

  • Most common in production scenarios.

  • Example scenarios:

    • Users will be responsible for developing their own clients using different frameworks, based on a published WSDL.


Development tips

  • Even in WSDL first approach, you can write a simple throwaway java class, generate a WSDL and then start customizing it based on our need.


Bottom-up web services development

  • When creating a Web service using a bottom-up approach, first you write the java classes for the web service and then create the WSDL file and publish the web service.

    • Although bottom-up Web service development may be faster and easier, the top-down approach is the recommended way of creating a Web service.

  • JAX-WS tool wsgen can be used for creating a bottoms up web service. 

    • The wsgen tool reads an existing web service implementation class (SIB) and generates the required JAX–WS portable artifacts for web service development and deployment.​

    • See notes on JAX-WS tools wsimport and wsgen.

  • Bottum up approach is also called as Service first or code first approach.

  • Ideal for learning web services.

    • Example scenarios:

      • Situations which need quick and faster completion may prefer Java approach

        • Java first approach is often the fastest and easiest approach.

      • Code reuse is required.

        • It may be better to write code first if you want to reuse code.



Can you please share me the materials to prepare for java ee 6 web services developer certified expert 1z0-897 exam?

Thanks much!

Was it useful?

Search the Web

Custom Search

Searches whole web. Use the search in the right sidebar to search only within javajee.com!!!

Quick Notes Finder Tags

Activities (1) advance java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (52) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exceptions (4) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (4) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (4) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (4) Java Programmer 2 (2) Javascript Frameworks (1) Java SE Professional (1) JSP (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quizzes (17) references (2) resources (1) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Sorting (1) source code management (1) spring (4) spring boot (1) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)