Title: Globus WS Core and Tools
1Globus WS Core and Tools
- Java WS Core Features
- Rachana Ananthakrishnan, Argonne National
Laboratory - Authoring Services using Introduce
- Ashish Sharma, Ohio State University
- Grid Remote Application Virtualization Interface
- Ravi Madduri, Argonne National Laboratory
2Java WS Core Features
- Rachana Ananthakrishnan
- Mike DArcy
- Tom Howe
3Contents
- Overview of Java WS Core
- Features new in GT 4.2
- Java WS Core Performance
- Current work in Java WS Core
4Java WS Core
- Development kit for building stateful Web
Services - Implementation of WS Resource Framework (WSRF)
and WS Notification (WSN) family of
specifications - Standard interface for interactions with stateful
web services
5WSRF/WSN in a Nutshell
- Service
- State representation
- Resource
- Resource Property
- State identification
- Endpoint Reference
- State Interfaces
- GetRP, QueryRPs, GetMultipleRPs, SetRP
- Lifetime Interfaces
- SetTerminationTime
- ImmediateDestruction
- Notification Interfaces
- Subscribe
- Notify
- ServiceGroups
Service
GetRP
GetMultRPs
EPR
EPR
EPR
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
6GT4 and Web Services
Custom Web Services
Custom WSRF Services
GT4WSRF Web Services
Registry and Admin
GT4 Container(e.g., Apache Axis)
WS-A, WSRF, WS-Notification
WSDL, SOAP, WS-Security
7GT4 WS Core in a Nutshell
Implementation of WSRF Resources,
EndpointReferences, ResourceProperties
Service
Operation Providers pre-build implementations of
WSRF operations
GetRP
GetMultRPs
EPR
EPR
SetRP
EPR
Notification implementation Topics, TopicSet,
Embedded Notification Consumer service
QueryRPs
Subscribe
SetTermTime
Implementations of Resources (ReflectionResource,
PersistentReflectionResource) and
ResourceProperties (SimpleResourceProperty,
ReflectionResourceProperty)
Destroy
8GT4 WS Core in a Nutshell
ResourceHome The home owns the Resource
instances in the service
Service
GetRP
GetMultRPs
SingletonResourceHome manages single instance of
Resource
EPR
EPR
SetRP
EPR
QueryRPs
Subscribe
SetTermTime
ResourceHome
ResourceHomeImpl manages multiple Resource
instances. Supports resources with in-memory
state and resources with persistent (on disk)
state
Destroy
9GT4 WS Core in a Nutshell
Service Container host multiple services in
container one JVM process
more details based on AXIS service container,
processes SOAP messages, ResourceContext
extension.
10GT4 WS Core in a Nutshell
Secure Communication Transport, Message,
Conversation (Transport demonstrates best
performance)
PIP
PDP
Configurable Security Policies for authorization
11GT4 WS Core in a Nutshell
WorkManager thread pool, site independent
work manager
PIP
PDP
JNDI Directory manages internal, shared objects
(ResourceHomes, WorkManager, Configuration
objects,)
WorkManager
JNDI Directory
12GT4 WS Core in a Nutshell
Deploy Service Container standalone or within
Apache Tomcat
PIP
PDP
WorkManager
JNDI Directory
13Features new in GT 4.2
14Supported Specifications
- Specification Upgrade
- Final version of WSA, WSRF and WSN
- Not backwards compatible with GT 4.0.x
- Interoperable with Genesis II, UNICORE, USMT, GT
C WS Core - WS Enumeration
- Allows management of large data set response
- Operation provider for WS-Enumeration operations
- Support for persistent or transient enumeration
- Client API to use enumerated response
15Deployment Enhancements
- Container level hot deploy
- Container need not be stopped
- Remote deploy of services
- Deploy service
- Command line clients support
- Deployment validation tools
- Descriptor validation
- JNDI configuration validation
16Other Features
- Environment tools
- Local environment validation
- Remote environment information
- SOAP Attachments
- DIME, MIME, MTOM formats
17Updated Metrics
- Usage statistics
- Periodic updates
- Usage packet updated
- List of services, active and inactive
- Thread pool size and number of threads used
- JVM version
- Number of service requests catered
- Possible Analysis
- Container uptime
- Activated services
- Non GT services deployed
18Java WS Core Performance
19Performance Improvements
- HTTP/S Connection Caching
- Improved performance
- Connections with same parameters reused
- Notification improvements
- Thread pool for sending notifications
20Standalone container Performance
- Roundtrip time for request
- Request sleep for 10 ms
- Specifics
- Debian Linux Machines
- 3.5 GB RAM
- Two 2.2 GHz AMD64 processors
- JDK 1.6
- Java WS Core 4.2
- Server on separate machine
- Concurrent clients on 4 worker machines
21GT Java WS Core Round Trip Mean Plot
22GT Java WS Core Round Trip Histogram
23Current Work
24Enhanced Resource Persistence
- Goals
- Reliable persistence
- Failover recoverability support
- Improved querying
- Resource Store API to abstract storage
- Options
- In memory store
- File system
- XStream for serialization
- RDBMS
- Java Persistence API (JPA)
- Default use of Derby database
25Reliable Messaging
- Guaranteed and in-order notification
- Integrate with Apache Sandesha 1.0
- WS-RM headers
- FIFO queue
- Modify WS-N Notify to optionally provide
reliability - Synchronous operation
- HTTP acknowledgement
- Secure notification supported
26Writing Services Using Java WS Core
- Define Schema
- Generate Java stubs
- Implement business logic
- Configure Operation providers
caBIGs Introduce provides GUI interface