350 likes | 581 Views
Case Study: ESA Service Support Environment (SSE). Yves Coene, SPACEBEL P.G. Marchetti, ESA EOP-G. Table of Contents. Overview Tools Standards Conclusion. SSE Objectives. Orchestrate synchronous and asynchronous EO Services for online and offline processes
E N D
Case Study: ESA Service Support Environment (SSE) Yves Coene, SPACEBELP.G. Marchetti, ESA EOP-G
Table of Contents • Overview • Tools • Standards • Conclusion
SSE Objectives • Orchestrate synchronous and asynchronous EO Services for online and offline processes • Provide an overarching infrastructure, neutrally managed by ESA • Empower service providers through abusiness process management (BPM) platform • Easily deploy and deliver services to users from own infrastructure • Minimize service providers’ upfront investments • Open standards to facilitate adoption and evolution
PROBLEM (Real Life Decision Support) Need: Protect Environment after oil spill • Parallel cross catalogue search • On-line data access ERS and ENVISAT ERS SAR catalogue Envisat ASAR catalogue RadarSat catalogue Wave height & direction model Ship detection processor ERS SAR online data access • Ship detection • Oil spill detection O il spill detection processor ERS SAR online data access • Create layers by transformation, reprojection, rescaling and mosaicing.
Approach • SOA • Approach to develop reusable services • Loosly coupled • Expose functionality in modular fashion • Avoids duplication • Reduces total number of processes • Combine services according to a business process: "orchestration". • SOA implemented using Web services
Approach • SSE Portal • RedHat Linux Entreprise Edition • J2EE Application Server: JBoss • Workflow engine: Oracle BPEL Process Manager 2.1.2 • Presentation layer: Apache Struts, Java Server Pages, XSLT transformation of SOAP payloads • Persistency: Oracle Database 9i • Hosted by ESA/ESRIN in Frascati (Italy) • Types of users: end-users and service providers
Approach • Workflow Engine • Standard workflow definition language (BPEL) • Domain (sandbox) per service provider • API to create service provider "domains" dynamically • API to list flows in a domain • API to start synchronous and asynchronous flows • API to get flow status (BPEL scope names) • JMS to receive workflow results • Large SOAP payloads (GML up to 15 MB)
Approach SSE Toolbox
Table of Contents • Overview • Tools • Standards • Conclusion
Service Publishing Steps • Publish service as Web service • SSE Toolbox • Orchestrate services • BPEL Designer : creating workflows • or use default workflows • Register service on SSE Portal • Fill out Web form and configure AOI component • Monitor service processes "in-flight" • BPEL Console
Step 1: Toolbox • Allows easy Web service “publishing” • Provides a generic gateway towards service providers’ infrastructure (e.g. DBMS, file system, API, FTP) • Interface towards the Service Provider infrastructure based on widely accepted IT standards • Permits to translate local terms into SSE ones (no need to change Service Provider infrastructure) • Free download from SSE Portal (open-source) • Based on SUN JWSDP
Step 2: Service Orchestration • BPEL Designer to chain services ...
Step 2: Service Orchestration • BPEL Designer • Based on Eclipse (www.eclipse.org) • BPEL plugin is free download • Allows service provider to define service flows • Service flows can be uploaded to SSE Portal into service provider's domain
Step 2: Service Orchestration • ws-inspection • Service discovery from "BPEL Designer"
Orchestration Example Spot Vegetation Sensor S10 User needs: “Carbon flux over Belgium in GeoTIFF format (Kyoto Protocol verification)” Format Conversion GeoTIFF HDF Value Adder Data Provider Automation of Business Process Data Provider Service Provider Net Flux of Carbon Map (HDF) Clipping Europe Belgium
1 - select service category 2 - define operation & interaction 3 - describe the service 4 – bindings: a.o. WSDL 5 - register! Step 3: Service Registration
Step 4: Service Monitoring Workflow console to monitor service instances
Step 4: Service Monitoring • Supports 100% manual services via task list • Service provider can enters service result as text (e.g. URL) • Also manual services can be "chained"
Table of Contents • Overview • Tools • Standards • Conclusion
WSDL (W3C) • WSDL file for each service, generated by SSE Toolbox • Defines available service operations • Each operation has parameters. Types defined in XML Schema (W3C) • Operations have (mainly) SOAP bindings • Apache WSIF (WS Invocation Framework) allows using WSDL for other bindings such as XML/HTTP (OGC WMS, WFS, WCS), email, etc.
Interaction Model • Predefined "basic" operations per service: • Search: returns matching catalogue entries • Present: retrieves all available "metadata". • Request Quotation: returns information about the service, e.g. feasibility, pricing, alternatives etc. • Order: activates the service. • Customised operations: • Can be mapped to a workflow • Workflow can call any Web service
Interaction Model • WS-Interoperability (ws-i.org) • Request/Response (synchronous) • Basic callback (asynchronous)
ws-addressing (W3C) • asynchronous communication: correlation of messages. • SOAP (W3C) • message-based (i.e. document-style) • Over HTTP, firewall-friendly, platform neutral • Optional use of HTTPS / SSL • De-facto standard: J2EE and Microsoft .NET • Interface is formalised using WSDL
BPEL (OASIS) • Standard to orchestrate Web services into process flows • Invoke Web services synchronous / asynchronous • Manipulate XML documents (XPath, XSLT) • Rich language: if / while / parallel, exceptions, events etc. • Expose process flow as Web service • Many implementations: SeeBeyond, IBM, Oracle, Intersystems etc.
EO Catalogue Access • Currently ESA EOLI-XML ICD (SOAP): Search/Present • OGC Catalog 2.0 (Catalogue Services for the Web) being investigated. • EOLI-XML may become OGC Profile (Harmony Project with OGCE)
Data distribution mechanisms • SOAP : data included in SOAP payload • FTP/HTTP : URL passed in SOAP payload • WFS - to publish service results (vector data) • WCS - to publish service results (raster data) • ESA DDS – data delivery via satellite
Data Distribution via DDS • DDS is additional way to disseminate service results, e.g. in Africa. • SSE as front-end for product distribution by service providers. AOI selection(SSE) NPP*Service VITO Format Conversion Service GIM Data Dissemination System NPP-Africa-HDF NPP-Africa-GeoTIFF NPP-Africa-GeoTIFF NPP input + AOI description + required format
Send "data" via ESA DDS as last "step" in any SSE service workflow. Uses Eutelsat C-band Data Distribution via DDS
OGC Standards • GML for AOI encoding • GML for service results
OGC Standards • WMS: Catalogue search results can be shown on map • Web Map Context: allow to save/load context
Table of Contents • Overview • Tools • Standards • Conclusion
RESULTS • SSE is operational • http://services.eoportal.org • Integrated and automated business processes • In-flight process activity monitoring • Over 20 service partners • Sample applications • Multi-catalogue access, on-line data access, oil spill detection, fire risk, Kyoto protocol verification, desert locust, land use, snow cover, tidal currents, etc.
CRITICAL SUCCESS FACTORS:Lessons Learned • Provide an overarching infrastructure • Extensible in response to service partner requirements • Neutral, to foster emergence of a “network” • Empower service partners • Easily promote and extend own services • Maintain full control on own IT infrastructure andintellectual property rights (IPR) • Use open standards to • Minimize upfront investments • Improve cost-efficiency
More info • SSE CD-ROM available from ESA EO Helpdesk • Flash presentation • SSE and BPEL White Papers • SSE User Manuals • Software: Toolbox, Eclipse, BPEL Designer • http://services.eoportal.org (Documents section) Thank you !