SlideShare a Scribd company logo
1 of 16
Service Oriented Architecture: 32
Packaging and Deployment of SOA Components
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Packaging and Deployment of SOA
Components
• The two specifications that provide most of the detail regarding
packaging and deployment are
– Web Services Metadata for the Java Platform (WS-Metadata) [JSR 181]
and
– Implementing Enterprise Web Services (WSEE) [JSR 109].
• WS-Metadata defines a set of standard annotations programmers
use to configure how the container will deploy a Java class as a Web
service.
• During deployment, the JWS container interprets those annotations
to generate artifacts and configure itself to deploy the specified
Web service.
• For example, the container may construct a WSDL representation of
a Web service based on the WS-Metadata annotations.
WSEE and WS Metadata
• WSEE defines a service architecture to ensure portability of Web Services
applications across Java EE application server implementations.
• It defines requirements for each major integration point for Web services
in Java EE, including client, server, and deployment models.
• WSDL bindings and security are also addressed.
• Whereas WS-Metadata specifies how to describe the Web service to be
deployed from a Java class
• For this reason, WSEE is often referred to as the “portability
specification”— Its compliance ensures that Web services are portable.
• It defines the types of objects that can be deployed as Web services, how
to package those objects, and what annotations and/or deployment
descriptors are required for deployment.
• For example, WSEE tells us that a Web service can be deployed either as a
servlet endpoint or as an EJB endpoint
WSEE Port Component
• WSEE defines the concept of a port component to refer
to the component that gets packaged and deployed to
the container to implement a Web service.
• A port component is an addition to the Java EE
platform defined by WSEE and should be thought of in
the same manner as other deployable components
such as servlets and JSPs (Web container) or EJBs (EJB
container).
• Like those other components, a port component
depends on the functionality provided by the Web and
EJB containers.
Service Packaging in WAR file or EJB
JAR file
• Per WSEE, port components may be packaged in
a WAR file or EJB JAR file.
• Port components packaged in a WAR file are
referred to in WSEE as JAX-WS Service Endpoints.
• These are simply service implementation beans
that do not have the @Stateless annotation.
• In fact, a SEI can be implemented by either a JAX-
WS Service Endpoint or a Stateless Session EJB in
an EJB container.
Servlet endpoint packaging
Service Implementation Bean
• 1.Service Implementation Bean [required] is
contained in the WEBINF/ classes/<package-
path>/, where <package-path> is determined by
the class’s package name.
• This location is not mandatory, but customary.
Alternatively, the SIB could be contained in a JAR
under the WEB-INF/lib or even in an extension
JAR installed in the Web container and referenced
by the WAR’s MANIFEST Class-Path
Service endpoint interface SEI
• 2. Service endpoint interface [optional] is
contained in the WEBINF/ classes/<package-
path>/ where <package-path> is determined
by the class’s package name.
• This location is customary, but not mandatory.
• The SEI class file may be located anywhere on
the application classpath
WSDL
• 3 WSDL [optional] is contained in the WEB-
INF/wsdl directory.
• This is not a mandatory location, but is
customary. When used, the SIB’s
@WebService.wsdlLocation attribute’s value
must equal the relative location of this file.
• Any files (e.g., XML Schema definitions)
referenced by the WSDL must be referenced
relative to the WSDL’s location.
Other Elements
• 4. web.xml [optional] is contained in the WEB-INF/ directory.
• 5. webservices.xml [optional] is contained in the WEB-INF/ directory.
• 6. jax-ws-catalog.xml [optional] is contained in the WEB-INF/ directory.
This descriptor is used in connection with OASIS XML Catalog
• 7. sun-web.xml [optional] is contained in the WEB-INF/ directory. This is
the GlassFish-specific Web application descriptor.
• 8. Handler Chain File [optional] is contained under the WEB-INF/ classes
directory where it will be available as a resource on the application
classpath. There is no standard name for this file.
• 9 Dependent Classes [optional] are bundled in a JAR and contained under
the WEB-INF/lib directory where they are available on the application
classpath. These are any classes the SIB or SEI depend on.
Packaging an EJB Endpoint Using an
EJB-JAR
. Service implementation bean
• 1. Service implementation bean [required] is contained in
the <package-path>/ directory where <package-path> is
determined by the class’s package name.
• This location is not mandatory, but customary.
• Alternatively, the SIB could be contained in another JAR
(e.g., bundled within an EAR with this same EJB-JAR) and
referenced by the EJB-JAR’s manifest file Class-Path
attribute.
• You could even have the SIB located in an installed library
and referenced by the EJB-JAR’s manifest file Extension-List
attribute.
• As long as the SIB is on the application classpath, the
packaging will work.
Service endpoint interface
• 2. Service endpoint interface [optional] is
contained in the <package- path>/ where
<package-path> is determined by the class’s
package name.
• This location is customary, but not mandatory.
• The SEI class file may be located anywhere on the
application classpath (see classpath description in
item 1).
• When used, the SIB’s @WebService. Endpoint
Interface attribute’s value must equal the
complete name of this SEI.
Other Elements in EJB-JAR
• 3. WSDL [optional] is contained in the META-INF/wsdl
directory. WAR and EJB-JAR usage is the same.
• 4. ejb-jar.xml [optional] is contained in the META-
INF/directory.
• 5. webservices.xml [optional] is contained in the
META-INF/directory.
• 6. jax-ws-catalog.xml [optional] is contained in the
META-INF/ directory.
• 7. sun-ejb-jar.xml [optional] is contained in the META-
INF/directory. This is the GlassFish-specific EJB
deployment descriptor.
Other Elements in EJB-JAR
• 8. Handler Chain File [optional] is contained under the
<packagepath>/ directory (<package-path> is determined
by the SIB class’s package name) where it is available as a
resource on the application classpath. WAR and EJB-JAR
usage is the same.
• 9. Dependent Classes [optional] are contained in a
separate JAR file at the root of the enclosing EAR where
they will be available on the application classpath. These
are any classes the SIB or SEI depends on.
• This is not a mandatory location.
• The dependent classes may be located anywhere on the
application classpath
Assignment
• Explain Servlet endpoint packaging as a WAR
File
• Explain the Packaging an EJB Endpoint Using
an EJB-JAR

More Related Content

What's hot

What's hot (14)

File connector
File connectorFile connector
File connector
 
How to use smtp endpoint
How to use smtp endpointHow to use smtp endpoint
How to use smtp endpoint
 
Mule debugging logging_configuration_in_mule
Mule debugging logging_configuration_in_muleMule debugging logging_configuration_in_mule
Mule debugging logging_configuration_in_mule
 
Mule overview-ppt
Mule overview-pptMule overview-ppt
Mule overview-ppt
 
Mule esb
Mule esbMule esb
Mule esb
 
Spring 3.1 in a Nutshell - JAX London 2011
Spring 3.1 in a Nutshell - JAX London 2011Spring 3.1 in a Nutshell - JAX London 2011
Spring 3.1 in a Nutshell - JAX London 2011
 
Jdbc
JdbcJdbc
Jdbc
 
Always on in SQL Server 2012
Always on in SQL Server 2012Always on in SQL Server 2012
Always on in SQL Server 2012
 
MMC
MMCMMC
MMC
 
Weblogic server cluster
Weblogic server clusterWeblogic server cluster
Weblogic server cluster
 
Introduction to weblogic
Introduction to weblogicIntroduction to weblogic
Introduction to weblogic
 
Stored Procedure With In Out Parameters in Mule 3.6
 Stored Procedure With In Out Parameters in Mule 3.6 Stored Procedure With In Out Parameters in Mule 3.6
Stored Procedure With In Out Parameters in Mule 3.6
 
How to use splitter component
How to use splitter componentHow to use splitter component
How to use splitter component
 
WebLogic Deployment Plan Example
WebLogic Deployment Plan ExampleWebLogic Deployment Plan Example
WebLogic Deployment Plan Example
 

Similar to Soa 32 packaging and deployment of soa components

Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
Д. Ганаа
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
Jeetrainers.com coursejspservlets00
Jeetrainers.com coursejspservlets00Jeetrainers.com coursejspservlets00
Jeetrainers.com coursejspservlets00
Rajesh Moorjani
 

Similar to Soa 32 packaging and deployment of soa components (20)

Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010
Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010
Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010
 
Advance java1.1
Advance java1.1Advance java1.1
Advance java1.1
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
 
Ra framework 0.1
Ra framework 0.1Ra framework 0.1
Ra framework 0.1
 
SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3
 
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenSpring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
 
Web Sphere Application Server Features
Web Sphere Application Server FeaturesWeb Sphere Application Server Features
Web Sphere Application Server Features
 
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
 
Jeetrainers.com coursejspservlets00
Jeetrainers.com coursejspservlets00Jeetrainers.com coursejspservlets00
Jeetrainers.com coursejspservlets00
 
Coursejspservlets00
Coursejspservlets00Coursejspservlets00
Coursejspservlets00
 
Introduction to maven
Introduction to mavenIntroduction to maven
Introduction to maven
 
Maven tutorial
Maven tutorialMaven tutorial
Maven tutorial
 
Osgi
OsgiOsgi
Osgi
 
A first Draft to Java Configuration
A first Draft to Java ConfigurationA first Draft to Java Configuration
A first Draft to Java Configuration
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Spring 3.1: a Walking Tour
Spring 3.1: a Walking TourSpring 3.1: a Walking Tour
Spring 3.1: a Walking Tour
 
JavaEE6 my way
JavaEE6 my wayJavaEE6 my way
JavaEE6 my way
 

More from Vaibhav Khanna

More from Vaibhav Khanna (20)

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

Soa 32 packaging and deployment of soa components

  • 1. Service Oriented Architecture: 32 Packaging and Deployment of SOA Components Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2. Packaging and Deployment of SOA Components • The two specifications that provide most of the detail regarding packaging and deployment are – Web Services Metadata for the Java Platform (WS-Metadata) [JSR 181] and – Implementing Enterprise Web Services (WSEE) [JSR 109]. • WS-Metadata defines a set of standard annotations programmers use to configure how the container will deploy a Java class as a Web service. • During deployment, the JWS container interprets those annotations to generate artifacts and configure itself to deploy the specified Web service. • For example, the container may construct a WSDL representation of a Web service based on the WS-Metadata annotations.
  • 3. WSEE and WS Metadata • WSEE defines a service architecture to ensure portability of Web Services applications across Java EE application server implementations. • It defines requirements for each major integration point for Web services in Java EE, including client, server, and deployment models. • WSDL bindings and security are also addressed. • Whereas WS-Metadata specifies how to describe the Web service to be deployed from a Java class • For this reason, WSEE is often referred to as the “portability specification”— Its compliance ensures that Web services are portable. • It defines the types of objects that can be deployed as Web services, how to package those objects, and what annotations and/or deployment descriptors are required for deployment. • For example, WSEE tells us that a Web service can be deployed either as a servlet endpoint or as an EJB endpoint
  • 4. WSEE Port Component • WSEE defines the concept of a port component to refer to the component that gets packaged and deployed to the container to implement a Web service. • A port component is an addition to the Java EE platform defined by WSEE and should be thought of in the same manner as other deployable components such as servlets and JSPs (Web container) or EJBs (EJB container). • Like those other components, a port component depends on the functionality provided by the Web and EJB containers.
  • 5. Service Packaging in WAR file or EJB JAR file • Per WSEE, port components may be packaged in a WAR file or EJB JAR file. • Port components packaged in a WAR file are referred to in WSEE as JAX-WS Service Endpoints. • These are simply service implementation beans that do not have the @Stateless annotation. • In fact, a SEI can be implemented by either a JAX- WS Service Endpoint or a Stateless Session EJB in an EJB container.
  • 7. Service Implementation Bean • 1.Service Implementation Bean [required] is contained in the WEBINF/ classes/<package- path>/, where <package-path> is determined by the class’s package name. • This location is not mandatory, but customary. Alternatively, the SIB could be contained in a JAR under the WEB-INF/lib or even in an extension JAR installed in the Web container and referenced by the WAR’s MANIFEST Class-Path
  • 8. Service endpoint interface SEI • 2. Service endpoint interface [optional] is contained in the WEBINF/ classes/<package- path>/ where <package-path> is determined by the class’s package name. • This location is customary, but not mandatory. • The SEI class file may be located anywhere on the application classpath
  • 9. WSDL • 3 WSDL [optional] is contained in the WEB- INF/wsdl directory. • This is not a mandatory location, but is customary. When used, the SIB’s @WebService.wsdlLocation attribute’s value must equal the relative location of this file. • Any files (e.g., XML Schema definitions) referenced by the WSDL must be referenced relative to the WSDL’s location.
  • 10. Other Elements • 4. web.xml [optional] is contained in the WEB-INF/ directory. • 5. webservices.xml [optional] is contained in the WEB-INF/ directory. • 6. jax-ws-catalog.xml [optional] is contained in the WEB-INF/ directory. This descriptor is used in connection with OASIS XML Catalog • 7. sun-web.xml [optional] is contained in the WEB-INF/ directory. This is the GlassFish-specific Web application descriptor. • 8. Handler Chain File [optional] is contained under the WEB-INF/ classes directory where it will be available as a resource on the application classpath. There is no standard name for this file. • 9 Dependent Classes [optional] are bundled in a JAR and contained under the WEB-INF/lib directory where they are available on the application classpath. These are any classes the SIB or SEI depend on.
  • 11. Packaging an EJB Endpoint Using an EJB-JAR
  • 12. . Service implementation bean • 1. Service implementation bean [required] is contained in the <package-path>/ directory where <package-path> is determined by the class’s package name. • This location is not mandatory, but customary. • Alternatively, the SIB could be contained in another JAR (e.g., bundled within an EAR with this same EJB-JAR) and referenced by the EJB-JAR’s manifest file Class-Path attribute. • You could even have the SIB located in an installed library and referenced by the EJB-JAR’s manifest file Extension-List attribute. • As long as the SIB is on the application classpath, the packaging will work.
  • 13. Service endpoint interface • 2. Service endpoint interface [optional] is contained in the <package- path>/ where <package-path> is determined by the class’s package name. • This location is customary, but not mandatory. • The SEI class file may be located anywhere on the application classpath (see classpath description in item 1). • When used, the SIB’s @WebService. Endpoint Interface attribute’s value must equal the complete name of this SEI.
  • 14. Other Elements in EJB-JAR • 3. WSDL [optional] is contained in the META-INF/wsdl directory. WAR and EJB-JAR usage is the same. • 4. ejb-jar.xml [optional] is contained in the META- INF/directory. • 5. webservices.xml [optional] is contained in the META-INF/directory. • 6. jax-ws-catalog.xml [optional] is contained in the META-INF/ directory. • 7. sun-ejb-jar.xml [optional] is contained in the META- INF/directory. This is the GlassFish-specific EJB deployment descriptor.
  • 15. Other Elements in EJB-JAR • 8. Handler Chain File [optional] is contained under the <packagepath>/ directory (<package-path> is determined by the SIB class’s package name) where it is available as a resource on the application classpath. WAR and EJB-JAR usage is the same. • 9. Dependent Classes [optional] are contained in a separate JAR file at the root of the enclosing EAR where they will be available on the application classpath. These are any classes the SIB or SEI depends on. • This is not a mandatory location. • The dependent classes may be located anywhere on the application classpath
  • 16. Assignment • Explain Servlet endpoint packaging as a WAR File • Explain the Packaging an EJB Endpoint Using an EJB-JAR