Your SlideShare is downloading. ×
  • Like
JBoss AS7 Webservices
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

JBoss AS7 Webservices

  • 882 views
Published

Alessio Soldano - JBug Milano - September 2011

Alessio Soldano - JBug Milano - September 2011

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
882
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
25
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. +JBoss Web Services Alessio Soldanoalessio.soldano@jboss.com Principal Software Eng. JBoss - Red Hat September 20th, 2011
  • 2. Who is Alessio?● JBoss WS[1] committer since early 2007● JBoss / Red Hat employee since end of 2007● JBoss Web Service Lead, 2008● JBoss AS[2], JBoss Wise[3] contributor● Current Red Hat representative at JSR-224 EG and W3C WS-ResourceAccess WG● Apache CXF[4] committer and PMC member [1] http://www.jboss.org/jbossws [2] http://www.jboss.org/jbossas [3] http://www.jboss.org/wise [4] http://cxf.apache.org
  • 3. ● AS7 services● AS7 subsystems JBoss Web ServicesJBoss WS● ● Apache CXF integration ● FeaturesAS 7 Web Services extension● ● Model ● Modules & classloading
  • 4. Services● Almost everything is a service● Services are objects that can be started and stopped● Services can have dependencies on other services● Services cant start before their dependencies are not satisfied● Before stopping all dependent services will be stopped● Services can inject dependent services
  • 5. Service examples● Of course core services, but also – EJBs – JNDI bindings – Servlets – Deployments – Registries● Individually shutdown and restart with all dependencies being maintained – e.g. XTS endpoints
  • 6. Subsystems● A subsystem implements a “logical” area of the server – subsystem:datasources – subsystem:messaging – subsystem:ejb3 – subsystem:webservices● The subsystem can provide user visible configuration – datasource definitions – web connector configurations
  • 7. Subsystems● Custom subsystems can be implemented for functionality outside of the application server● The subsystem consist of an extension – org.jboss.as.controller.Extension● Other components – Schema – Parsers – OperationHandlers● Example: org.jboss.as.webservices extension – Model – Modules
  • 8. What is JBoss WS?● “Just” a feature-rich JAX-WS compatible ws stack till early 2008... – AS 4.x, AS 5.x target containers● ... a web services framework providing integration layers for 3rd party ws stacks on top of multiple JBoss AS versions – CXF, Native and Metro stack – AS 5.x, AS 6.x target containers● ... the interface and integration point of Apache CXF in JBoss application server – AS 6.x, AS 7.x target containers
  • 9. Apache CXF integration● Standards & specifications● NIH syndrome & wider community● Added value● Home-brew solutions for running CXF on JBossAS might work for specific usecases, but you... – need to embed the stack in your apps – will suffer from classloading issues – can just use pojo endpoints – have no webserviceref injection in ejb3 – loose additional Web Service Framework features ;-) – ...
  • 10. How it works - runtime Request flow WS-* ... Endpoint servlet RequestHandler Invoker JBoss Apache CXF AS JAX-WS ... handlers Response flow
  • 11. How it works - deployment● POJO endpoint @WebService(...) <web-app ...> <servlet> public class MyEndpoint { <servlet-name>TestService</servlet-name> public String sayHello() { <servlet-class>org.jboss.test.ws.jaxws.samples.MyEndpoint</servlet-class> return "Hello World!"; </servlet> } <servlet-mapping> } <servlet-name>TestService</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>● EJB3 endpoint ● Create metadata to deploy jboss-web app @WebService(...) ● Create CXF bus @Stateless ● Customize CXF bus public class MyEndpoint { ● Start web app for public String sayHello() { published endpoints return "Hello World!"; } }
  • 12. Demo● Basic WS endpoint deployment – AS7 console● WS-Security UT Profile JAAS integration – Policy driven approach – AS7 / CXF security integration <subsystem xmlns="urn:jboss:domain:security:1.1"> <security-domains> <!-- ... other security domains ... --> <security-domain name="JBossWS"> <authentication> <login-module code="UsersRoles" flag="required"> <module-option name="usersProperties" value="jbossws-users.properties"/> <module-option name="unauthenticatedIdentity" value="anonymous"/> <module-option name="rolesProperties" value="jbossws-roles.properties"/> </login-module> </authentication> </security-domain> </security-domains> </subsystem>
  • 13. Links● WS documentation for AS7 – https://docs.jboss.org/author/display/JBWS● http://www.jboss.org/jbossws● http://jbossws.blogspot.com/
  • 14. Thanks! Q&A