Quickly configuring a demo-ready instance of DE/SM
FOR INTERNAL USE ONLY


Audience
Last Revised by
Caveats
Acknowledgements

Contents

1. Getting Started
(bootstrapping into a successful base configuration)
2. Demo Configurations (one-time setups to create "demo candy")
3. Demonstration Scripts (These abbreviated instructions probably only make sense to the author -- feedback's always welcome)
4. Transports

1. Getting Started

Configuring OS and DB (Win32 laptop)

OS
    Patch to the latest

SQL-Server 2000
    Get the bits (or see IT dept)
    Install using: admin / de
    Choose defaults, except:
        local system acct
        Both or SQL Server (not just windows auth)
        ensure port=tcp/1433

I don't believe you need (Win32 OS) admin rights before installing DE, but I'm not sure.


Starting Service Manager on a Win32 laptop
(assumes all prereqs are on 1 box)

Do not change host IP addr (whether LAN, VPN or local) while installing DE/SM

1. Start pre-reqs in any order:

2. Start these in this order:
3. Start these in any order:
4. Login to the Console


2. Demo-Related Configurations

Sample Pipeline Templates

Console > Manage > Pipeline Templates > Add Pipeline Template
Name Description Request Response
Acme Standard Monitoring Record SOAP traffic and Monitor usage
  1. Record: Request from consumer
  1. Record: Response from Service
  2. Usage
Acme Standard Security Authenticate request using SAML, and encrypt response
  1. Authenticate using SAML
  2. Record Name: Request from consumer
  1. Encrypt with DES
  2. Record: Response from service operation
  3. Usage



Alert Manager > SLA's and Contracts
SLA Policy:
Name
Description
Count Alert when the service operation is consumed more than 10 times in any hour
Fault Alert when the service operation faults more than 5 times in any week
Message Size Alert when the service operation's request message size exceeds 1000 bytes in any hour
Responsiveness Alert when the service operation's average response time ever exceeds 500ms

Locked SLA's will inherit changes to their "upstream" Policy
Name Description
Count Inherits the count-based Policy
Fault Inherits the fault-based Policy
Message Size Inherits the message size Policy
Responsiveness Inherits the responsiveness Policy

Contracts tie SLA's to Users
Name Description
Count Offer the Count-based SLA to Matthew, Jim, Ryan and Administrator
Fault
Offer the Fault-based SLA to Matthew, Jim, Ryan and Administrator
Message Size
Offer the Message Size-based SLA to Matthew, Jim, Ryan and Administrator
Responsiveness
Offer the Responsiveness-based SLA to Matthew, Jim, Ryan and Administrator

Alert Manager - Setting up a workflow
To create a workflow using SNMP alerting, email, and an executable script (batch file), do this:

Alerts
   
Email Group
SNMP Hosts
Management Script
Alert Codes
Alerts Now create your custom Alert Codes....

Alert Manager > Alerts > Alert Codes > Add...
Component
Subsystem
Description
Additional Info (wrongly overwritten in 2.3.0)
Management Point Alert Manager Count > 10 in any hour
Custom alert generated by "SLA - Count"
Management Point Alert Manager Faults > 5 in any week
Custom alert generated by "SLA - Faults"
Management Point Alert Manager Request Message Size exceeds 2k in any hour Custom alert generated by "SLA - Message Size"
Management Point Alert Manager Average Response Time > 500ms ever
Custom alert generated by "SLA - Responsiveness"



Policy Manager

Sample contracts...
Console > Policy Manger > Manage > Contracts
Contract Name Description Hour
1 - Weekday Available Mon-Fri, 9:00am-5:00pm 9-17
2 - Weekend Available Sat-Sun, 9:00am-5:00pm 9-17
3 - Evening
Available Mon-Fri, 5:00pm-midnight 17-24
4 - Maintenance Available Mon-Sun, midnight-5:00am 0-5
5 - Unlimited Rock-n-Roll all night, Party ev'ry day 0-24
6 - Countdown Invokable at most 1000 times (n/a)

Sample WS consumer applications/users...
Console > Policy Manger > Manage > Users
User Name Full Name Priv
Contract
Customer Portal CustomerPortal OP - Account Manager v1.* (Access)
Unlimited
Employee Portal EmployeePortal OP - Account Manager v1.* (Access) Weekdays
Alice
Priviledged to use only the Alert Manager 
AM - Administrator (All) Unlimited
Polly
Priviledged to use only the Policy Manager
PM - Administrator (All) Unlimited
Reggie
Priviledged to use only the Registry Manager
RM - Administrator (All) Unlimited


Registry Manager

Sample Providers...
Console > Registry Manager > Publish > Providers 
Key
Name
Description
MANAGEMENT_CONFIGURATION Service Manager - Digital Evolution
Contains internal registrations for Service Manager subsystems and MP's
ACME_CONFIGURATION Service Provider - Acme
Contains registrations for Web Services

Sample Federated UDDI Servers....
Console > Registry Manager > Configure > Federated Servers  (this series is mostly for demo candy)
Name Inquiry URL
Acme UDDI - London http://uddi-london.acme.com:9901/rmengine
Acme UDDI - Chicago http://uddi-chicago.acme.com:9901/rmengine
Acme UDDI - Sydney
http://uddi-sydney.acme.com:9901/rmengine
IBM https://uddi.ibm.com/ubr/find
Commodore64 - Singapore (just renaming local box for humor) http://localhost:9901/rmengine


2. Demonstration Scripts

Abbreviations used in this section
MP1
Management Point 1
mp2
Management Point 2
WS1 DE/SM-managed Web Service v1 (e.g. Account Manager v1)
WS2 DE/SM-managed Web Service v2 (e.g. Account Manager v2, with operation: transact)
SA Sample Application (Client SDK example by Mike Cardella)
C/M Navigate to "Console / Manage"
C/M/AOUC Navigate to "Console / Monitor / All Operations Usage Chart"
Q&A Q&A (with customer to clarify and handle objections, as usual)



Managing a Web Service (a simple run-through)

C/M/Services
Register WS:
Manage Service using:
Contracts:

SA     Dynamic = MP1
    Submit any/all ops using: HTTP, JMS, Any
...or show SOAP traffic with...
TraceTCP
    Listen:   NNNN (also used in SA:URL below)
    DestHost: localhost
    DestPort: MP-portnumber
SA
    URL...: http://localhost:NNNN/MP1
    Submit any/all ops using: HTTP, JMS, then Any (=both/either/HA/LB?)
-----------
Console / Monitor
    Soap Messages     
    Usage Data       
    C/M/AOUC (ideally with separate console, to monitor incremental msgs)
Q&A


Load-Balance MP's to manage 1 Web Service

Pre-reqs:
WS (Account Manager) is already registered
MP1 already created and started
mp2 already created and started

C/M/Services
Register WS:
    Account Manager v1 -- instance #1
    Manages checking and savings accounts
    http://localhost:9900/sample_webservice/servlet/rpcrouter
    http://localhost:9900/sample_webservice/wsdl/AccountManagerBinding.wsdl
    Manage Service w/mp2
    PipelineTemplate=Record and Usage
    manage All ops

C/M/Services
    Register Service
    Yes, this Service has already been added to Registry Manager
    Find Services: MP1
    Un-check "Manage Service"
    Finish/Close

    Register Service
    Yes, this Service has already been added to Registry Manager
    Find Services: mp2
    Uncheck "Manage Service"
    Finish/Close

C/M/Services
    Single-click WS / Load Balance
    Add Service / MP1
    Add Service / mp2
    Use MP1=1, mp2=1, WS=0 for now (& adjust later?)
    Apply

Delete both new unmanaged WS's from Service list to "clean up the start page"
C/M/Services
    Unregister Service: MP1
    Unregister Service: mp2

---------------------------
C/M/Services
    View Service WS
    View operation op1 (or whatever operation will be HA/LB)
    Add pipeline
    Name it: "op1 using mp2"
    PipelineTemplate = Record & Usage
    Management Point = mp2
    Template: Record and Usage
    Apply
---------------------------
    
SA (HA/LB checked)
    submit op1 10x with MP1
Notice that load is spread equally across MP1 and mp2 by viewing:
    C/M/AOUC Service=MP1
     C/M/AOUC Service=mp2
    (Use separate console window for this to switch easily for customer)

C/M/Services/LoadBalance
    Assign MP1 and mp2 diff weights
SA
    If using Java client, restart it
    (HA/LB checked)
    submit op1 10x with MP1
    Notice load spread = diff (see questions, below)
Q&A
-----------------
Bugs?:
    Configuration of LB is counter-intuitive (e.g. registering then deleting 2 MP's)
    SA hangs on some ops (e.g. HA and LB(?)) (see MCardella)
    SA (java only?) caches old HA settings from DE/SM and needs to be restarted (see below)



High Availability: 2 MP's managing 1 Web Service

Setup LB first (See "Script: Load-Balance 2 MP's which manage 1 WS", in this doc)

SA (uncheck HA/LB box)
    submit op1 against Dynamic = MP1 (succeeds)
Stop MP1
SA     
    (uncheck HA/LB box)
    submit op1 against Dynamic = MP1 (fails)
(optional: M/C/AOUC?, need to restart SA?)
 
SA (check HA/LB box)
    submit op1 against Dynamic = MP1 (succeeds thru HA of mp2)
M/C/AOUC
    show mp2 incremented

(optional)
Quick (re)demo of LB:
Restart MP1
SA (HA/LB checked)
    submit op1 against Dynamic = MP1
M/C/AOUC
    shows MP1 and mp2 incremented according LB weightings
Q&A



Versioning using Transformations: Setup and Script

Required files (originally from from Andy Goldstein)
  1. \\lafs1\mreiser\Sync-from-laptop\SE\Demonstration\Versioning\DepositTransformation.xsl
  2. \\lafs1\mreiser\Sync-from-laptop\SE\Demonstration\VersioningWithdrawTransformation.xsl
  3. \\lafs1\mreiser\Sync-from-laptop\SE\Demonstration\Versioningsample_axis2.jar
Unzip #3 to C:\bin\digev\ms231\msconsole\appserver\webapps\sample_axis2\

Show that some operations are missing in WS2 (C:\bin\digev\ms231\msconsole\appserver\webapps\sample_axis2\WEB-INF\source\):
public int withdraw(String acctId, int amount) throws Exception {
public int deposit (String acctId, int amount) throws Exception {
public int transact(String acctId, int amount) throws Exception {

Therefore, we'll use mp2 to transform depost and withdrawl to transact

Create/Start mp2
C/M/Services
Register Service: WS2
Account Manager v2
Manages your checking and savings accounts (has transact instead of deposit / withdrawl)
http://localhost:9900/sample_axis2/services/AccountManager2
http://localhost:9900/sample_webservice/wsdl/AccountManagerBinding.wsdl
(Using wsdl of WS1 to ensure ops missing from WS2 are avail for mgt)

Manage Service w/mp2
    PipelineTemplate=Record and Usage
    All ops

View service:   WS2
    View operation: Deposit
    modify pipeline
    Name: Deposit using mp2
    Description: Transform Deposit (WSv1) to transact (WSv2)
    Add Component
    Request/Transformation
        Description: Transform WS1 deposit to WS2 transact
        Upload:      DepositTransformation.xsl
    Apply/Apply

View service:   WS2
    View operation: withdraw
    modify pipeline
    Name:        Withdraw using mp2
    Description: Transform withdrawl (WSv1) to transact (WSv2)
    Add Component
    Request/Transformation
        Description: Transform WS1 withdraw to WS2 transact
        Upload:      WithdrawTransformation.xsl
    Apply/Apply

Sample Application:
    Service Key = MP1
    withdraw (native op in WS1-deposit)

    Service Key = mp2
    withdraw (transforms to WS2-transact)

M/C/AOUC
    mp1
    mp2  


4. Transports

Generating a trusted certificate using bundled KeyTool GUI (from 2.2 Training with Ramesh Dec 12)

Access your java keystore:
Generate a new key pair
Export a new certificate
Import your new Trusted Cert

JMS-enabling your MP

md                                           C:\bin\digev\ms231\lib\config\
copy %J2EE_HOME%\config\ejb.properties       C:\bin\digev\ms231\lib\config\

copy %J2EE_HOME%\config\security.properties  C:\bin\digev\ms231\lib\config\

copy %J2EE_HOME%\lib\j2ee.jar                C:\bin\digev\ms231\lib\ext\

JMS Resource Name Type
Factory deJmsQueueFactory queue
Destination Request_mp1 (if MP name = "mp1") queue
Destination Response_mp1 (if MP name = "mp1")
queue
Destination Response_DEMS_SampleClient
queue
Destination Response_SDKBRIDGE queue

Using JDK 1.3.x from Sun, modify c:\bin\digev\ms231\config\dems.properties to contain:
Using the console set JMS parameters at MP>Details>Modify
Restart:

Confirming HTTPS support for your MP
https://localhost::[HTTPS port number] should respond with cert details


Topics swith MikeC:

SA bug:
    Must restart SA after changing MP weights (in console) so new weighting shows up in Usage

Brought to you by... Tasty Morsels
Hosted by www.Geocities.ws

1