SOA Forum – June , Paris Slide 1 Case Study: ESA Service Support Environment (SSE) Yves Coene, SPACEBEL P.G. Marchetti, ESA EOP-G
SOA Forum – June , Paris Slide 2 Table of Contents Overview Tools Standards Conclusion
SOA Forum – June , Paris Slide 3 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 a business 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
SOA Forum – June , Paris Slide 4 PROBLEM (Real Life Decision Support) O il spill detection processor ERS SAR online data access Ship detection processor ERS SAR online data access ERS SAR catalogue Envisat ASAR catalogue RadarSat catalogue Wave height & direction model Parallel cross catalogue search On-line data access ERS and ENVISAT Ship detection Oil spill detection Create layers by transformation, reprojection, rescaling and mosaicing. Need: Protect Environment after oil spill
SOA Forum – June , Paris Slide 5 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
SOA Forum – June , Paris Slide 6 Approach SSE Portal RedHat Linux Entreprise Edition J2EE Application Server: JBoss Workflow engine: Oracle BPEL Process Manager 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
SOA Forum – June , Paris Slide 7 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)
SOA Forum – June , Paris Slide 8 Approach SSE Toolbox
SOA Forum – June , Paris Slide 9 Table of Contents Overview Tools Standards Conclusion
SOA Forum – June , Paris Slide 10 Service Publishing Steps 1.Publish service as Web service SSE Toolbox 2.Orchestrate services BPEL Designer : creating workflows or use default workflows 3.Register service on SSE Portal Fill out Web form and configure AOI component 4.Monitor service processes "in-flight" BPEL Console
SOA Forum – June , Paris Slide 11 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
SOA Forum – June , Paris Slide 12 Step 2: Service Orchestration BPEL Designer to chain services...
SOA Forum – June , Paris Slide 13 Step 2: Service Orchestration BPEL Designer Based on Eclipse ( 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
SOA Forum – June , Paris Slide 14 Step 2: Service Orchestration ws-inspection Service discovery from "BPEL Designer"
SOA Forum – June , Paris Slide 15 Orchestration Example Carbon flux over Belgium in GeoTIFF format (Kyoto Protocol verification) User needs: Data Provider Data Provider Value Adder Service Provider Format Conversion Clipping Spot Vegetation Sensor S10 Net Flux of Carbon Map (HDF) HDF GeoTIFF EuropeBelgium Automation of Business Process
SOA Forum – June , Paris Slide define operation & interaction 1 - select service category 3 - describe the service 4 – bindings: a.o. WSDL 5 - register! Step 3: Service Registration
SOA Forum – June , Paris Slide 17 Step 4: Service Monitoring Workflow console to monitor service instances
SOA Forum – June , Paris Slide 18 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"
SOA Forum – June , Paris Slide 19 Table of Contents Overview Tools Standards Conclusion
SOA Forum – June , Paris Slide 20 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), , etc.
SOA Forum – June , Paris Slide 21 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
SOA Forum – June , Paris Slide 22 Interaction Model WS-Interoperability (ws-i.org) Request/Response (synchronous) Basic callback (asynchronous)
SOA Forum – June , Paris Slide 23 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
SOA Forum – June , Paris Slide 24 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.
SOA Forum – June , Paris Slide 25 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)
SOA Forum – June , Paris Slide 26 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
SOA Forum – June , Paris Slide 27 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. NPP * Service VITO Format Conversion Service GIM AOI selection (SSE) Data Dissemination System NPP-Africa -GeoTIFF NPP input + AOI description + required format NPP-Africa -HDF
SOA Forum – June , Paris Slide 28 Data Distribution via DDS Send "data" via ESA DDS as last "step" in any SSE service workflow. Uses Eutelsat C-band
SOA Forum – June , Paris Slide 29 OGC Standards GML for AOI encoding GML for service results
SOA Forum – June , Paris Slide 30 OGC Standards WMS: Catalogue search results can be shown on map Web Map Context: allow to save/load context
SOA Forum – June , Paris Slide 31 Gazetteer (Alexandria) to select circular AOI
SOA Forum – June , Paris Slide 32 Table of Contents Overview Tools Standards Conclusion
SOA Forum – June , Paris Slide 33 RESULTS SSE is operational 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.
SOA Forum – June , Paris Slide 34 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 and intellectual property rights (IPR) Use open standards to Minimize upfront investments Improve cost-efficiency
SOA Forum – June , Paris Slide 35 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 (Documents section) Thank you !