Early Adopters Workshop Web Services Developer's Track Open Grid Services Architecture

advertisement
Open Grid Services Architecture
Early Adopters Workshop
Web Services Developer's Track
Scott Sylvester
05/29/2002
Agenda
Discuss Web Services and WSAD
WSAD Tooling OGSA plug-in
Content
WSAD OGSA Demo
Web Services Standards and Technology usage
in a J2EE runtime
OGSA WSAD Tooling Plug-in
Develop an Eclipse plugin for WSAD to facilitate the design and
development of OGSA Services
Extend WSDL4J to Grid Services Definition Language (GSDL4J)
XML editor for GSDL representation of Grid Services Definitions and
References
Tabbed editor organized by GSDL categories (serviceData,
serviceType, notifications)
OGSA Service creation wizard
Supports service implementation as either JavaBeans or EJBs
Supports starting from JavaBean, EJB, or WSDL/GSDL
Supports GridService portType, serviceData creation,
notificationSink portType, Factory portType, and Registry portType
OGSA Service usage wizard
Client proxy generation
Similar to Web Service proxy generation
JAX-RPC and WSIF-based to support multiple bindings
Object-based interaction for serviceData (document centric model)
OGSA Service perspective & views
WSAD Tooling Demo
- Globus Tech. Preview 2
with extensions
WSAD Tooling extension - New Grid Service Wizard Group
WSAD Tooling extension - Grid Service Wizard types
WSAD Tooling code generation - JavaBean
Delegation: Service Factory, Service Delegation stub,
Service impl. skeleton, and Interfaces are generated
for new service
BaseSkeleton
FactoryBaseSkeleton
+ createServiceObject ( )
CounterFactoryImpl
+ createServiceObject ( )
«instantiate»
CounterSkeleton - impl
+ add ( )
+ substrace ( )
+ getValue ( )
«interface»
DestroyInterface
+ preDestroy ( )
1
«interface»
CounterPortType
+ add ( )
+ subtrace ( )
+ getValue ( )
CounterImpl
+ value
WSAD Tooling code generation - JavaBean
Direct sub-class implementation: Service Factory,
Service impl. skeleton, and Interfaces are generated
for new service
BaseSkeleton
FactoryBaseSkeleton
«interface»
DestroyInterface
+ preDestroy ( )
+ createServiceObject ( )
«instantiate»
CounterFactoryImpl
+ createServiceObject ( )
CounterImpl
+ value
«interface»
CounterPortType
+ add ( )
+ substract ( )
+ getValue ( )
WSAD Tooling code generation - EJB
Service Factory, Service Delegation stub, Service impl.
skeleton, and Interfaces are generated for new service
B a s e S k e le t o n
Fa c t o r y B a s e S kele t o n
«interface »
D e s t r o y In t e r f a c e
+ createS e r vice O b j e c t ( )
+ p r e Destroy ( )
Counte r Fa c t o r y Imp l
+ createS e r vice O b j e c t ( )
«instantiate »
«inte r face»
C o u n t e r EJBHome
+ create ( )
«instantia te »
C o u n t e r EJBBe a n
+ value
+ add ( )
+ subtract ( )
+ getValue ( )
«instantiate »
Count e r Ske le t o n
+ add ( )
+ substrace ( )
+ g e tValue ( )
«inte r face »
C o u n t e r P o r t Ty p e
+ add ( )
+ s u b tract ( )
+ g e t V a lue ( )
- im pl
1
«interface »
C o u n t e r EJB
+ add ( )
+ subtra c t ( )
+ g e t V a lue ( )
DestroyInterface
moved to Skeleton
Skeleton
implements the
PortType interface
WSAD Tooling extensions
Command-line version of code generation
supported outside of WSAD tooling
WSAD tooling plug-in provides complete IDE
for OGSA service development experience
Client-side proxy generation supported
Supports creating:
Web project with WSDL/GSDL and test client
EJB project with service EJB implementation
Java project with service JavaBean
implementation
Web Services standards and Technology - Server Side
OGSA J2EE design usage of Web Service technology
and standards
JSR 101 (JAX-RPC) and JSR 109 (J2EE Web Services)
Based on Axis technology
Deployment model different
Uses WSDD (Web Services Deployment Descriptor)
and under the covers creates an Axis deployment
descriptor
OGSA adds stateful web services support along with
common behavior for discovery/registry, lifecycle (explicit
and soft-state), and notification
WSDL 1.1 with extensions for:
serviceType
serviceData
Notification Topics represented as serviceData
Web Services standards and Technology - Client Side
OGSA J2EE design usage of Web Service technology and
standards for Client-side
JSR 101 (JAX-RPC) and JSR 109 (J2EE Web Services)
JAX-RPC used as Interface
JAX-RPC directly used for SOAP/HTTP
JAX-RPC with WSIF used for other bindings (e.g.
SOAP/JMS)
Client managed port access and container managed port
access supported
Client managed port access - client selects port and
binding object to use
Container managed port access - client selects
serviceType and container selects the port/binding to
use
SOAP used for messaging
Section 5 encoding and Literal XML supported
SOAP-SEC header used for wire protocol containing
security credential
Web Services standards and Technology - Security
OGSA Release 1 Security
OGSA services implemented as JavaBeans
GSR containing SOAP location (URL) can be secured
since not a managed object
OGSA services implemented as EJBs
Managed object with full object/method instance
security
Security in OGSA release 1 is part of client-side stubs
Configuration is part of JSR 109 with Websphere
extensions in WSDD
Security extension information will be available in
serviceData in serviceType
WS-Policy is follow-on standard that will be used
Work In-Process items
Client Environment
What is it and how small can it be?
Access to External Resources from within J2EE environment
Need to define what Java Connectors should be part of the OGSA base
WSDL representation for SOAP/JMS binding
Includes location information
WSDL representation of <serviceData> in <serviceType>
GSR content
Should it be a full WSDL/GSDL or just location information?
OGSA Release 1 security
Need to define security support for Registery::RegisterService, UpdateService, and
UnregisterService
Notification constraints
Need to define what constraints should be supported - Just expressions?
Proposal to not support in OGSA release 1:
Grid Service compatability assertions (needs further definition)
Grid Service service implementation (needs further definition)
Download