20
NORTHWATER CAPITAL MANAGEMENT INC. Not to be used by anyone other than the intended recipients. Working Smarter, Not Harder: Development Tools, Processes and Automation

Working Smarter, Not Harder

  • Upload
    esug

  • View
    504

  • Download
    2

Embed Size (px)

DESCRIPTION

Working Smarter, Not Harder:

Citation preview

Page 1: Working Smarter, Not Harder

NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Working Smarter, Not Harder:Development Tools, Processes and Automation

Page 2: Working Smarter, Not Harder

2NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Contents

Our custom tools

– Custom menus, GemStone & VA tools

Automation

– Runtime monitoring, scheduler and nightly automation

Production release process

– Issue management, reporting

– production and daily release processes

– Automation and testing

Page 3: Working Smarter, Not Harder

3NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Custom menus for our tools

GBSM forwarderDebugging: true.GBSM stubDebugging: true.

Code can run in GS or VA. We use a VA ‘in memory’ model to run SUnit tests on a small domain model and

for new feature development.

ENVY utilities

Page 4: Working Smarter, Not Harder

4NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Code compare

The class change files (inst vars, new classes, deleted classes) are generated by a separate scan, triggered by the Export button.

Test is done on array of sub-strings, since the exact method strings do not match (<cr><lf> vs. <cr>).

Takes about fifteen minutes to compare all the code – no longer do this manually.

Push changes to GS.Used for testing.

Page 5: Working Smarter, Not Harder

5NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Instance migration tool

Use a known list of instances, since #allInstances can take 20 minutes.

Allows for more complex migrations by adding a script to set values in the new instance based on the old instance.

We can migrate between any version of any class...

...and we can map any instance variable to any other instance variable.

For large instance collections, we can do an incremental migration; the tool tolerates a mix of old and new instances in the migration collection.

Page 6: Working Smarter, Not Harder

6NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Attribute specifications

accessor Specsuper accessor Spec,

#(. . .

( ' Hedge Fund' #hedgeFund #hedgeFund: #none ' NcmHedgeFund' ' Accessor f or Hedge Fund' )

. . .

The spec arrays are cached on class instance variables.

Page 7: Working Smarter, Not Harder

7NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Generic attribute view

The specs can be used in generic attribute views to display and update an object before a custom view is created.

We use the generic views for administrative work.

Page 8: Working Smarter, Not Harder

8NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Access to development tools

Page 9: Working Smarter, Not Harder

9NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Contents

Our custom tools

– Custom menus, GemStone & VA tools

Automation

– Runtime monitoring, scheduler and nightly automation

Production release process

– Issue management, reporting

– production and daily release processes

– Automation and testing

Page 10: Working Smarter, Not Harder

10NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Runtime error notification

NcmSyst em>>emai l Si gnal : aSi gnal subj ect : aSt r i ng<…>

st r eam : = ReadWr i t eSt r eam on: ( St r i ng new: 100) .<…>

cr ; next Put Al l : sel f di spl aySessi on;<…>

sel f di spl ayWal kbackOn: st r eam.<…>

[ st r i ng : = st r eam cont ent s] ensur e: [ st r eam cl ose] .sel f emai l Message: st r i ng subj ect : aSt r i ng t o: sel f syst emsEmai l I D.

2005- 05- 25 1: 43: 13 PM #emai l Si gnal : . . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Sessi on 2 ( r emot e) f or ' bnemec' on ' ! t cp@ONYX! NewBl ox2'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' GemBui l der Er r or '' GBS Er r or - GbxPoi nt er St ub ( i d 10548) f or ( GbsObj ect oopVal ue: 462649)<. . . >Obj ect >>#di spl ayWal kback<. . . wal kback contents. . . >

NcmSyst em>>di spl ayWal kbackOn: aSt r eam

| pr ocess |pr ocess : = Pr ocessor act i vePr ocess.EsI mageSt ar t Up out put Wal kback: ' Obj ect >>#di spl ayWal kback'

on: aSt r eam pr ocess: pr ocess.

<…>TobSocket sSMTPMai l Message new

sender sEmai l Addr ess: ' NBI I @nor t hwat er obj ect s. com' ;sender sName: sender sName;subj ect : aSubj ect ;addReci pi ent : ' ' emai l Addr ess: anEmai l I d.

Page 11: Working Smarter, Not Harder

11NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Gemstone monitor

Sessions abort every two minutes. Here, three sessions have disabled the async abort, staggered by five minutes.

More information can be displayed for the selected session… and it can be terminated if needed.

Some actions require ‘admin’ access.

Each user is given a default set of buttons according to their role, and can adjust their own custom set as they desire.

Page 12: Working Smarter, Not Harder

12NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Scheduler

User has option to setup auto refresh for certain windows

Some windows have auto refresh built in

Page 13: Working Smarter, Not Harder

13NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Nightly automated process

Page 14: Working Smarter, Not Harder

14NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Contents

Our custom tools

– Custom menus, GemStone & VA tools

Automation

– Runtime monitoring, scheduler and nightly automation

Production release process

– Issue management, reporting

– production and daily release processes

– Automation and testing

Page 15: Working Smarter, Not Harder

15NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Issue management

Page 16: Working Smarter, Not Harder

16NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Change reports

Create new versions of modified applications and version a new config map with these new application versions.

Our runtime image does not include VA Parts and is built from IBMST.ICX

Each time a class is versioned we add the issue information to the comment field. A report by version comment is generated when the config map is versioned.

Page 17: Working Smarter, Not Harder

17NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Production release process

Codecompare

Group meeting

Mon Tue Wed Thu Fri Sat Sun

Test & demo

Production update

Files for code update, class changes and instance migration

Mon Tue* Wed Thu Fri

Mon Tue* Wed Thu Fri Sat Sun

Code freeze.

Production update

Test, version & package release

*Group meeting every week to discuss issue priorities and determine which changes will be included in the next release.

Daily automatic restore and build of testing and development environments.

Page 18: Working Smarter, Not Harder

18NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Daily release process and automation

abt.exe build.icx -buildRuntime

Page 19: Working Smarter, Not Harder

19NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Tests, tests and more tests

Page 20: Working Smarter, Not Harder

20NORTHWATER CAPITAL MANAGEMENT INC.Not to be used by anyone other than the intended recipients.

Questions?

Mon Tue* Wed Thu Fri

Mon Tue* Wed Thu Fri Sat Sun

Production update

Test, version & package release