Title: Enterprise Core Objects II and ASP'NET and other new stuff
1Enterprise Core Objects IIand ASP.NET( and
other new stuff )
- John.Kaster_at_borland.com
- Henrik.Jondell_at_borland.com
2Thread
- ECO why and what
- ECO II features
- ECO II ASP.NET
- ECO II WebServices
- ECO II OR Mapping
- ECO II other stuff
3The visionary
- Visual modeling tools that will reduce
software coding by a factor of five over the
next ten years.
Bill Gates, Gartner Symposium, March 2004.
4The applications we build have a lot in common
Core Domain / Business Logic
Core Domain / Business Logic
Core Domain / Business Logic
Persistence Relationships Transactions
Subscriptions Caching Querying ? Undo /
Redo ? Versioning
? Persistence Relationships Transactions ?
Subscriptions ? Caching ? Querying ? Undo /
Redo Versioning
Persistence Relationships Transactions
Subscriptions Caching Querying ? Undo /
Redo ? Versioning
Platforms, Frameworks, Components
5Enterprise Core Object Framework
- Instant Architecture
- Object Persistence Mapping
- Object Interaction, Transactions
- Caching, Synchronzation, Conflict Resolutions
- Versioning, Undo/Redo
- Runtime OCL Querying / Evaluation...
- Delphi IDE with integrated UML designer
- Powered by Together technology
6ECO in runtime
Application
ModelUML OCL
Logic C / Delphi
order true
ECO Framework
.NET UI
ECO Space
Persistence Object Relations Transactions Subscrip
tions Caching OCL Evaluation OCL Querying Undo /
Redo Versioning
Persistence
ECO O-R Mapping
.NET Platform
7ECO in design time
Together Rose XMI
CBuilder /Delphi IDE
DesignerUML OCL
Logic C / Delphi
ECO IDE Tools
UI
ECO Space Tools
Database Schema Generation Database Schema
Evolution Model Validation Database configuration
OCL Editor
Order.allInstances
Persistence
.NET Framework
8ECO Components
Application
ModelUML OCL
Logic C / Delphi
order true
ECO Platform
.NET UI
ECO-Space
Persistence Object Relations Transactions Subscrip
tions Caching OCL Evaluation OCL Querying Undo /
Redo Versioning
Persistence
ECO O-R Mapping
.NET Platform
9ECO II major features areas
- The major areas
- ECO.ASP.NET
- ECO Enhanced O/R Mapper
- General improvements
- Scalability, Webability, Adaptability, Ease of
use-ability
10ECO II - ASP.NET II
- Native .NET
- Built on native ASP.NET
- Binding to ECO ExpressionHandles
- Templates for ECO.ASP.NET app, ECO WebServices
- DBWebControl support
- Use DbWebControls with ECO based ASP.NET
applications - EcoDatasource exposing EcoSpace
11ECO II - ECO Space in ASP.NET
- EcoSpaceProvider
- Manages Sessions and SessionState policies
- Provides a pool a EcoSpaces
- Synchronization managed through PersistenceMapper
12ECO II - ECO Space in ASP.NET
- EcoSpaceProvider. SessionState
- Never Never cache, return to pool.
- Always Keep it for the duration of the session.
When the session ends, return it to the pool. - IfDirty Keep if dirty. This mode allows
applications keeping state over multiple requests.
13ECO II - ECO Space in ASP.NET
- Pooling strategies
- Application Settings in Webconfig.xml
- Setting MaxPool to gt0 will enable pooling.
- ltadd key "Borland.Eco.Web.MaxPool" value
"0"/gt - EcoSpaces will be discarded based on MaxAge (s)
- ltadd key "Borland.Eco.Web.MaxAge" value
"60"/gt
14ECO II - Synchronization
- Scalability through syncronization of multiple
shared EcoSpaces - PersistenceMapperProvider
- Connects the EcoSpace(s) to the PersistenceMapper
- Remotable and thread safe
- PersistenceMapperSharer
- Multiple EcoSpaces in a single process
- PersistenceMapperClient
- Multiple EcoSpaces in separate processes
15ECO II ... in ASP.NET / Local
IIS ASP.NET
Persistence
16ECO II ... in ASP.NET / Remoted
IIS ASP.NET
Persistence
IIS ASP.NET
IIS
17ECO II WebServices
- Very similar to using ASP.net
- Sessionstate always never
- ECO WebServices template used to create projects
18ECO II Concurrency Handling
- Optimistic locking only
- Conflict resolution in multiple EcoSpace
applications - PersistenceMapper Service
- Apply, Discard, Ignore each individual Change or
ApplyAllChanges()
19ECO II O/R mapper
- Basic OR mapper
- Model to Db Schema, forward generation
- Evolve db based on model changes
- Enhanced OR mapper
- Generalized OR mapping
- User controlled Ids
- Any column, composite, Autoinc, GUIDs
- Map onto existing db using schemas files (XML)
20ECO II O/R mapper
- XML mapping Schemas
- Build manually
- Generate mapping schema from model
- Reverse/wrap Database (ObjectMapper plugin)
- Evolve existing db from model changes
- Automatic for non-complex changes to model
21ECO II - General Usability
- General design time improvements
- Framework re-factored, pluggable
- Increased amount of code-free functionality
- Easier custom use of low level functionality
- Extendable, pluggable IDE ( EcoSpace designer )
- additions by community / partners (ObjectMapper)
22ECO II - General Usability
- Setting up WinForms apps, using actions, even
simpler - Autoforms improved drag drop, single link
navigation - Documentation improved
- Increased number of examples
- Increased amount of source
- Together Designer improved
23ECO Resources
- www.borland.com
- ECO FAQ
- Unleashing ECO whitepaper (with real world
example) - ECO Tutorials
- BDN
- News blogs
- ECO borland.public.c/d.modeldrivenarchitecture.
- Blogs.borland.com\malcolmgroves
- Blogs.borland.com\lteco teamgt
- UML, OCL, MDA links
- www.omg.org
- www.klasse.nl (Good overview, great OCL
resource) - Check out Bold resources
- Bold borland.public.delphi.modeldrivenarchitectur
e. - www.boldbox.com, many more
24Q A