1 / 42

Allors for Developers

Allors for Developers. Overview. Problems The Allors Solution Allors Jargon Allors Platform Allors Tools Allors Application. Problems. Limitations of OO languages Failure of 1 st generation OO Design Failure of 2 nd generation OO Design Failure of Binary Components

Download Presentation

Allors for Developers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Allors for Developers

  2. Overview • Problems • The Allors Solution • Allors Jargon • Allors Platform • Allors Tools • Allors Application

  3. Problems • Limitations of OO languages • Failure of 1st generation OO Design • Failure of 2nd generation OO Design • Failure of Binary Components • (Anticipated) Failure of SOA • OR mapping insufficient and too complex

  4. Limitations of OO languages • No bi-directional relations • No persistency • No (short/long) transaction management • Static/Dynamic typing

  5. Failure of 1st generation OO Design(White box Inheritance) • Fragile base class • Complex hierarchies • Class reuse but no object reuse

  6. Failure of 2nd generation OO Design (Delegation) • Excessieve proxying • Complex Compositions • Object reuse but no class reuse

  7. Failure of Binary Components • No reuse of classes and/or objects • Duplication • Integration • Version management • Contract based fallacy • (un)Testability

  8. (Anticipated) Failure of SOA • Functionalprogramming • Stateless services • Idempotent services • SeeComponents

  9. OR mapping insufficient and too complex • Mapping overhead • Performance/Scalability • Transactions too complex e.g. too many states • Object disconnection • No transparency • Schema versioning

  10. The Allors Solution • 3rd Generation OO • Multiple Type Declarations • Object Persistence • Rolling Transactions • Disconnected Objects • Domain Driven • Subject Orientation • Test Driven

  11. Allors Jargon • Domain • Relation (Association & Role) • Multiple Type • Subject • Population • Population Adapter • Allors Object • Extent

  12. Allors Platform • Framework • Population Adapters • UI Support

  13. Framework • Metadomain • Population • Templates

  14. Metadomain

  15. MetaTypes

  16. MetaExtensions

  17. MetaRelations

  18. Extent

  19. Population • Core (Population,Strategy,Session & ObjectId) • Load/Save with Events • Extent & Predicate • Node • Checkout/Checkin & Conflict • Copy • Diff

  20. Core

  21. Load/Save with Events

  22. Extent & Predicate

  23. Node (Root)

  24. Node (non-Root)

  25. Checkout

  26. Checkin & Conflicts

  27. Copy (intra session)

  28. Copy (inter Session)

  29. Template • group AllorsTestTemplate; • TemplateId() ::= <<FA2E53B4-915D-4227-8571-456FC8E04DB0>> • TemplateName() ::= <<Allors Test>> • TemplateVersion() ::= <<1.0.0.3>> • TemplateAllors() ::= <<1.0.0>> • TemplateConfiguration(domain) ::= << • <generations> • <generation template="domain" output="$domain.name$.txt"/> • </generations> • >> • domain(domain) ::= << • $domain.Name$ • >>

  30. Population Adapters • Memory Adapter • Sql Adapter

  31. UI Support • WebObject & WebObjects • WebPopulation

  32. WebObject(s) Overview • Manage AllorsObject(s) across web requests • Cache Allors object(s) in either View-, Session- or Application State.

  33. WebObject(s) Detail • Inherit from System.Web.UI.Control • WebObjects implement IDataSource • Very efficient caching • Default state is ViewState

  34. WebPopulation • Allows you to store and retrieve a disconnected population across web requests.

  35. WebObject(s) Diagram

  36. Allors Tools • Upgrade • Repository & Build • Testing Tools (Winforms, Webforms, Browser)

  37. Upgrade • Upgrade Notifications • Automatic Domain (Schema) upgrade • Automatic Population (Data) upgrade • Supports Test Driven Development

  38. Repository & Build • Repository UI • Repository API • Command & MSBuild Builds • Continuous Integration

  39. Testing Tools • Winforms Tester • Webforms Tester • Browser Tester

  40. Allors Application • Prefab Subjects • Custom Composition and Extension

  41. Prefab Subjects • 1 Shared Subject(General objects, Collaboration (Wiki), …) • Software Development Subject • Business Subjects(Accounting, CRM, Contracts, ..) • Community Subjects

  42. Custom Composition & Extension • Custom or 3rd party subjects • Extension of Subjects

More Related