Title: Designed for Obsydian
1Designed for Obsydian Logo
Wasim Ahmad Chief Evangelist Synon,
Inc. wasima_at_synon.com
2Why Introduce a Logo ?
- Encourage Use of Patterns
- Encourage Standards
- Encourage Collaboration
- Promote Best Practices
The Obsydian Developer must be able to use
pre-built Patterns from any number of sources -
Synon, Vendor, In-house - and be confident they
will work together - Keith Jaeger, VP of RD,
Synon, Inc.
3Introducing the Logo
- Consistency
- Quality
- Confidence
- Integration
By licensing this logo, you are signaling that
you care about quality and consistency in the
rapidly expanding Obsydian market place and that
your customers can have confidence in both your
current products and the future direction of
your products
4Logo Standards
- Developed by Synons Pattern Team in
collaboration with - Azur
- ProSys
- SoftDesign
- IBM OO Lab
- Microsoft
- Synobsys
- Phoenix
- Entisa
- Chorus
- Impact
5Practical Principles
- 1. Must use coherent Naming Conventions
- 2. Must Integrate with Synon Patterns
- 3. Must Integrate with existing Patterns
- 4. Must be structured to enable easy modification
- 5. Must support 32 bit Client Generation
- 6. Must Support Windows NT Server, AS/400 Server
and Java Server - 7. Must take advantage of latest Obsydian
technology - 8. Must be well documented
61. Naming Standards
- Capitalize The First Letter of Each Word - No
Spaces e.g. FetchRow - Spell words out e.g. BusinessEntity
- Be Descriptive e.g. ThreeLevelTransaction
- Use Action/Object e.g. CreateRow
- Alternatively use Type/Object e.g. TwoParentChild
71. Naming Standards
- Use short words e.g. row not instance
- Dont use an object type in the name
- If you use abbreviations - do it consistently
- View names use All, Keys, Real
- Describe the sequence of a view e.g.
ListRowsByDate - Use meaningful Variable names e.g. Detail1P
- Summarize the message e.g. DeleteNotAllowed
- For Source Code add a language
82. Integration With Synon Patterns
- If the Pattern is Entity-based it should inherit
from ENT Storage/Relational Table - When adding processing to an inherited function -
add to Collection point - Never to an inherited Edit Point
- For Views Functions use replaces triples
- Use Synon-supplied fields and variables where
possible
93. Integration With Existing Patterns
- When augmenting functionality to a Pattern
- Create a new function that inherits
- Add new processing to a Collection point
- Use function replaces function triple
- For Meta Functions
- Create a new Meta function to hold extensions
- Call the old Meta function from within the new
- Call the new Meta function from the new Pattern
104. Simplify Modifications
- Develop granular Patterns
- Assume User is inexperienced in the use of
Obsydian - Provide Edit Points that can be easily overridden
- Enable user to override functionality at
generation time - FNC option NME verb triple
- Separate Data Retrieval Routines from Client Side
- Call Synon Meta functions
115. Provide Support for Win32
- Patterns should be designed to support Win32
- 5250 and Win16 are optional
- Pattern designers should look at new Designed
for Windows 98 logo standards from Microsoft
126. Provide Multiple Server Support
- Patterns should be designed to support
- AS/400 Server
- Windows NT Server
- Java VM
- Patterns should support these Databases
- DB2/400
- SQL Server
- Oracle8
137. Exploit New Obsydian Technology
- Every Pattern should be a good example of how to
code with Obsydian - Use up to date features of Obsydian
- Use OO techniques over in-line code
- Validated by
- Displayed as
- Calculated by
148. Provide Extensive Documentation
- Every Pattern should ship with
- A completed Pattern rationale questionnaire
- A step-by-step guide showing
- inheritance
- code needed to implement
- Help File for Object Help
- Narrative for
- source code objects
- meta functions
158. Provide Extensive Documentation
- Comment in the Action Diagram and Source Code
Object - Local Model demonstrating how objects are
inherited - Example demo software must adhere to Designed
for Microsoft Windows 98 logo - Installable/Uninstallable
- Long File names
- ...
16Call to Action
- Start Using these standards NOW
- Download Beta Synon Patterns
- Send in feedback on Standards
- Use 3rd party Patterns
- Insist Vendors use these standards