SOA-14: Deploying your SOA Application David Cleary Principal Software Engineer
© 2006 Progress Software Corporation2 SOA-14: Deploying your SOA Application Agenda Development vs. deployment environment Moving your application artifacts Securing and scaling your application Moving from Development to Deployment
© 2006 Progress Software Corporation3 SOA-14: Deploying your SOA Application D I S C L A I M E R Under Development This talk includes information about potential future products and/or product enhancements. What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. D I S C L A I M E R
© 2006 Progress Software Corporation4 SOA-14: Deploying your SOA Application Planning and Installing your SOA Infrastructure
© 2006 Progress Software Corporation5 SOA-14: Deploying your SOA Application Sonic Components Domain Manager Manages component configuration Monitors runtime of distributed components One per Domain Messaging Nodes Message Broker Provides messaging to each node in distributed architecture Supports clustering for reliability and scalability
© 2006 Progress Software Corporation6 SOA-14: Deploying your SOA Application Sonic Components Containers MQ Container provides runtime support for Sonic components ESB Container hosts ESB services Multiple ESB containers can run in MQ Container Administration Tools Allows configuration, management, and monitoring of all Sonic components Includes Sonic Deployment Tool –Creates archives for moving from development to test to deployment –Allows you to easily scale applications
© 2006 Progress Software Corporation7 SOA-14: Deploying your SOA Application OpenEdge Components OpenEdge® Application Server OpenEdge Adapter for Sonic ESB® Custom ESB service running in ESB Container No NameServer required Includes MQ and ESB containers
© 2006 Progress Software Corporation8 SOA-14: Deploying your SOA Application Development Setup
© 2006 Progress Software Corporation9 SOA-14: Deploying your SOA Application Deployment Setup
© 2006 Progress Software Corporation10 SOA-14: Deploying your SOA Application Installing the Domain Manager Components installed individually SonicMQ® first Sonic ESB and other components after Security disabled by default Different than a Workbench installation Enable security to turn on authentication Create separate messaging broker Automatically done in Sonic 7.0 Change default connections in ESB
© 2006 Progress Software Corporation11 SOA-14: Deploying your SOA Application Installing OpenEdge Components Keep OpenEdge Application Server and OpenEdge Adapter for Sonic ESB together Uses JMS reliability on the network Install on Domain Manager to configure management tools Manual configuration possible Different steps for different versions of Sonic Disable NameServer for ESB only Application Servers
© 2006 Progress Software Corporation12 SOA-14: Deploying your SOA Application Create Sonic Acceptors Acceptors are the front door to your application Single JMS acceptor can support multiple applications HTTP acceptors limited to single endpoint based on URL Create consistent URL policy for applications
© 2006 Progress Software Corporation13 SOA-14: Deploying your SOA Application Security Considerations
© 2006 Progress Software Corporation14 SOA-14: Deploying your SOA Application Security Basics Authentication Who are you? Authorization Are you allowed here? Quality of Protection Is this private and non-corrupted? Secure Communications Layer SSL
© 2006 Progress Software Corporation15 SOA-14: Deploying your SOA Application Enabling Authentication ENABLE SECURITY AT INSTALL TIME! Modify default Administrative password Do it BEFORE installing distributed components Requires new boot files for all containers –Management, Messaging, and OpenEdge containers External stores supported LDAP Directory Pluggable Authentication and Security Service (PASS)
© 2006 Progress Software Corporation16 SOA-14: Deploying your SOA Application Authentication Security JMS connections use challenge-response mechanism No passwords sent on the wire HTTP only supports BASIC Authentication User and Password sent in clear over the wire Use HTTPS to secure this
© 2006 Progress Software Corporation17 SOA-14: Deploying your SOA Application Authorization Access Control Lists (ACLs) on resources Resources include Queues, Topics, and DRA Nodes ACLs grant or deny access on specific resource Send/Publish Receive/Subscribe Routing for DRA nodes
© 2006 Progress Software Corporation18 SOA-14: Deploying your SOA Application Quality of Protection Integrity Message signed to ensure no tampering Privacy Message body and properties encrypted Message headers are not QOP not supported for HTTP Direct
© 2006 Progress Software Corporation19 SOA-14: Deploying your SOA Application Secure Communications Layer SSL and HTTPS support Encrypts everything on wire Messages unencrypted at every node Encrypted again before going back on wire SSL client authentication supported QOP more efficient than SSL
© 2006 Progress Software Corporation20 SOA-14: Deploying your SOA Application Packaging your Application with the Sonic Deployment Tool
© 2006 Progress Software Corporation21 SOA-14: Deploying your SOA Application Deployment Process Overview
© 2006 Progress Software Corporation22 SOA-14: Deploying your SOA Application Creating a Deployment Archive Select elements and files from development directory service Tool follows references from selected elements OpenEdge service includes WSM and WSDL files Select archive root wisely All resources attached to root ESB Container as root of application
© 2006 Progress Software Corporation23 SOA-14: Deploying your SOA Application Artifacts not in Archive Management property and jar files Support for WSM resource editor Unable to configure OpenEdge services without property file
© 2006 Progress Software Corporation24 SOA-14: Deploying your SOA Application Tailoring Deployment Archives Map files can be created and edited for tailoring Endpoint type and destination Connection URL and credentials File Paths QOS settings
© 2006 Progress Software Corporation25 SOA-14: Deploying your SOA Application Steps for Tailoring an Archive Create Map file of an archive Edit file for target domain Apply map, creating new archive Import mapped archive into target domain
© 2006 Progress Software Corporation26 SOA-14: Deploying your SOA Application Scaling Up your Application
© 2006 Progress Software Corporation27 SOA-14: Deploying your SOA Application Service Listeners Queues serialize incoming messages By default, service is single threaded Only one message processed at a time Only one server process used Listeners correspond to threads Messages processed in multithreaded manner Multiple server processes utilized Beware of running out of server processes Tune waitIfBusy and requestWaitTimeout properties
© 2006 Progress Software Corporation28 SOA-14: Deploying your SOA Application Adding Additional Application Servers Install OpenEdge Application Server and OpenEdge Adapter for Sonic ESB on new host Point at Domain Manager during installation Add application ESB container to management container installed by OpenEdge Messages now processed by multiple application servers
© 2006 Progress Software Corporation29 SOA-14: Deploying your SOA Application Creating Clusters Fixes messaging bottlenecks Containers load-balanced between multiple messaging brokers Load-balancing weight settable Queues must be defined per cluster
© 2006 Progress Software Corporation30 SOA-14: Deploying your SOA Application Adding Fault Tolerance and Redundancy
© 2006 Progress Software Corporation31 SOA-14: Deploying your SOA Application Replicating Directory Service One primary and one backup directory service per domain Directories can share a single store, or use a copy No automatic replication between stores No synchronization at startup Backup will automatically become active during failure
© 2006 Progress Software Corporation32 SOA-14: Deploying your SOA Application Replicating Brokers Creates a primary and backup broker Backup broker replicates all acceptors on primary Primary accepts clients and flows replications data to backup Both brokers are functionally equivalent
© 2006 Progress Software Corporation33 SOA-14: Deploying your SOA Application Fault Tolerant and Scalable Architecture
© 2006 Progress Software Corporation34 SOA-14: Deploying your SOA Application Monitoring your Application
© 2006 Progress Software Corporation35 SOA-14: Deploying your SOA Application Sonic Management Console Metrics allow you to monitor real-time performance Notifications allow you to capture interesting events
© 2006 Progress Software Corporation36 SOA-14: Deploying your SOA Application Advanced Management and Monitoring from Actional Looking Glass™ Enterprise scale management Business process visibility SOAPStation™ Web Services intermediary Monitors and controls security and ploicies
© 2006 Progress Software Corporation37 SOA-14: Deploying your SOA Application In Summary Differences between Development and Deployment Building up your SOA applications and infrastructure Managing your deployment infrastructure
© 2006 Progress Software Corporation38 SOA-14: Deploying your SOA Application For More Information, go to… PSDN Webex and Whitepaper coming in August Relevant Exchange Sessions: SOA–4: Introducing Sonic SOA Suite v7.0 SOA–9: Implementing SOA in Financial Services: Banco Comafi a Real Leading Case
© 2006 Progress Software Corporation39 SOA-14: Deploying your SOA Application Education / Documentation References Sonic Software Web Based Training tion_training/index.ssp tion_training/index.ssp SonicMQ System Administration Service-oriented Integration with Sonic ESB OpenEdge Classroom Training XML Essentials What’s New in OpenEdge 10.1: Sonic Integration OpenEdge Development with Sonic ESB
© 2006 Progress Software Corporation40 SOA-14: Deploying your SOA Application Questions?
© 2006 Progress Software Corporation41 SOA-14: Deploying your SOA Application Thank you for your time
© 2006 Progress Software Corporation42 SOA-14: Deploying your SOA Application