Early Adopters Workshop J2EE Design Open Grid Services Architecture

advertisement
Open Grid Services Architecture
Early Adopters Workshop
J2EE Design
Scott Sylvester
05/29/2002
Agenda
Discuss OGSA J2EE Design
OGSA J2EE Environment
Configuration/Management, Tooling
Websphere J2EE Runtime usage
OGSA components in a J2EE environment
Registry
Lifecycle
Notification
Handlemap
OGSA Tech. Preview 2 extensions for J2EE
Work In-Process items
OGSA J2EE Environment
Build-Time (Developer)
Produces OGSA Services:
Deployment Descriptors
WSDL/GSDL
JARs
WARs
EARs
CodeGen
OGSA Code Generation
Called from WSAD OGSA Plug-in
Callable via command-line
OGSA Services creation
WSAD Tooling (IDE for OGSA)
Create OGSA Services
OGSA Services client proxies
OGSA D/C/M
Run-Time (Server Side)
DCM JSPS
JVM
Web Container
Websphere Admin. AppSvr
HandleMap
Sets up J2EE env.
AppSvr
Messaging
HTTP
HTTP
Server
OGSA
AXIS
extensions
OGSA Notification
Support
Lifecycle
Timer
Services
Registry
SOAP/HTTP
SOAP/JMS
OGSA
Service
Clients
Client-side proxies
Deployment Descriptors
WSDL/GSDL
JARs
WARs
EARs
Java2GSDL
GSDL2Java
EJBs only supported in Tooling
JavaBeans and EJBs
Use OGSA Services
Debug OGSA Services
WSDL/GSDL editor
Deploys OGSA services
Manages OGSA instances
View traces/Logs
Produces OGSA Services clients
JMS
Messaging
EJB Container
OGSA Instance (AppSvr)
JMS Pub/Sub
Integrated
Messaging
JCA
connectors
OGSA J2EE Design - Registry
Registry (local) component provides the following:
Implements Registry portType
Persistent Service - ignores setTerminationTime
Registers with Lifecycle Timer service for sweeping registry
for timed out services
Implements Notification Source portType
onRegister Topic
onUnregister Topic
onUpdate Topic
Supports queries and <gsh>/inspection.wsil get
Via xQuery and FindServiceData()
By (use cases):
Name, ServiceType, ServiceImpl, Handle, Factory
handle, portType, service desc., termination time, etc.
Virtual Organization (VO) registries are solution specific
views
OGSA J2EE Design - Lifecycle
Lifecycle timer component provides the
following:
Provides general timer service and calling of
registered callback on separate thread
Used by:
Registry for sweeping and cleaning up timed
out registered services
HandleMap for sweeping and cleaning up
timed out services via Grid Service portType
termination time
Structured to move to EJB 2.0 timer EJB support
OGSA J2EE Design - Notification
Notification component provides the following:
Notifications based on subscription changes to service data
Subscribe to any change in service data
Subscribe to changes when service data changes to a set value
Subscribe to changes when the service data changes from one set value to
another set value
Service Data container (per Service instance) supports serviceDataListener
Notifications based on subscriptions to SourceTopics
Topics defined in the service's GSDL document via service data elements in
GSDL
Uses JMS provider for Messaging in Websphere
OGSI_RegisterSubscription, OGSI_ServiceDataChange, OGSI_Notify,
OGSI_UnRegisterSubscription
Pub/Sub model with Query criteria support
Query criteria specified via XPath filter
Subscription portType introduced for pluggability
Keeps information on the client subscribing, the topic, and the termination time
Supports notifying any OGSA service via GSH passed in subscription
Lightweight notificationSink support for additional client environments
e.g. .NET web service registering for OGSA notifications
OGSA J2EE Design - HandleMap
HandleMap component provides the following:
Implements HandleMap portType
Persistent Service - ignores setTerminationTime
Each OGSA instance contains a servlet that supports:
http://<hostname>:port/ogsa/<ogsaInstanceName>/handlemap.gsr
Returns WSDL for handleMap service
.../ogsa/<ogsaInstanceName> is the Grid Service home handle map ID
http://<hostname>:port/ogsa/<ogsaInstanceName>/inspection.wsil
Returns WSIL containing references to all instantiated services
GSH for registry is .../ogsa/<ogsaInstanceName>
http://<hostname>:port/ogsa/<ogsaInstanceName>/<serviceName>.gsr
Returns GSR (WSDL) for the service
http://<hostname>:port/ogsa/<ogsaInstanceName>/<serviceName>
Is the GSH for the Service
Supports EJBs persistent restart when OGSA instance restarts
Entity Bean primary key find and activation
HandleMap portType will support a new operation for a client to provide a WSDL
and a GSH will be returned that can be used for a notificationSink
Allows for a lightweight notificationSink
OGSA J2EE Tech. Preview 2 extensions
Supports the following:
Delegation and direct implementation models for OGSA services
implemented as JavaBeans
Delegation model for OGSA services implemented as EJBs (entity or
stateful session)
Sevice Factory
(generated)
HandleMap
Web Container
(HTTP
channel)
(GSHs to GSRs)
OGSA Axis
extensions
Instantiate
Set Ref.
Sevice Delegation
Stub (generated)
EJB
Service
Impl.
Invoke
OGSA service
dispatcher
Sevice Factory
(generated)
EJB Container
(Messaging
channel)
Instantiate
Set Ref.
Invoke
Sevice Delegation
Stub (generated)
JavaBean
Service
Impl.
Globus Tech. Preview 2 supplies:
Interfaces (ServiceType, Destroy), BaseSkeleton, FactoryBaseSkeleton,
ServiceDelegation
Globus Tech. Preview 2 extended with EJB support
Globus Tech. Preview 2 extended with general Axis handler callable from
either Web Container or EJB Container
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>
OGSA Release 1 security
Proposal to not support in OGSA release 1:
Grid Service compatability assertions (needs further definition)
Grid Service service implementation (needs further definition)
Summary
Grid Service Specification defines Common Programming
Model (OGSI core)
Both JavaBean and EJB implementations will be supported
for OGSA service implementations
QoS is an implementation decision and not imposed by the
model
IBM and Globus development teams collaborate via OGSI
developers mailing list on OGSI core
IBM to supply robust and functionally rich OGSI core
leveraging the J2EE environment's inherent capability
Both IBM and Globus will use OGSI core as the basis for
their efforts
Globus is providing an open source implementation
IBM is providing a productized and supported version in a
Websphere J2EE robust environment
Download