ECO – Enterprise Core Objects
ECO is really a rule engine that given a UML model and a Persistence Mapper will help any .net runtime to handle the objects of that model in memory. ECO will via the Persistence Mapper help to de-hydrate or hydrate objects from a persistent storage, ie a database.
ECO is also the name of a Visual Studio Plugin that brings ECO, Modlr, Derived Code, Derived DB scripts and Database Evolution to Visual Studio.
ECO is UI agnostic – it does however contain parts that help with asynchronous access to persistence storage (good for WPF and a must for Silverlight), it contain parts for serializing a complete object graph into a cache (very useful for ASP.NET and MVC), also it contain parts that makes it easy to bring objects from the model to a format that makes it easy to databind to WindowsForms, WPF, Silverlight, ASP.NET and ASP MVC.
ORM – object relational mapping
ORM is the process of turning rows in a relational database into objects – ECO does this with flying colors – and it does not even stop to blink…
Modlr is the graphical editor that helps with model creation. Modlr happens to be built with ECO – we had another modeling tool at first – created a meta model – that we built the Modlr logic on – using WPF as the UI engine – but nowadays Modlr is maintained with Modlr.
WECPOF is a prototyping technology that takes a model created with Modlr and with a few extensions regarding ViewModels with UI-hints and Action definitions that Modlr offers, allow for the model to execute just like an application would – strictly declarative. Great for prototyping and great for standard UI that you want to get consistent through out your application.
AppComplete is much like ECO without Visual Studio and Without coding. You can load ECO files into AppComplete and you can load AppComplete files into ECO. You might want to use AppComplete when meeting the client – give AppComplete to the client – or you might manage all your work with AppComplete – no license for Visual Studio is needed to run AppComplete. Whenever you need to have complete code that represents your model, and whenever you want to focus on serious system development in a multi user environment with high scalability and low maintenance footprint – Use ECO for Visual Studio with your AppComplete files or use ECO from scratch.
A ViewModel in Modlr is a series of transformation expressions that turn a part of the model into a potentially transformed view of the model.
ViewModels in Modlr also allow for catching UI-hints for each such transformation. These hints can along with the resulting type of the transformation be used to declaratively derive a user interface. ECO comes with UI-components for WindowsForms, ASP.NET, Silverlight and WPF that transforms such a ViewModel with UI-hints into a user interface.
EA-Information is a series of information elements that we catch in Modlr that describes the different aspects of a business. It allows you to catch processes, actors, applications, information and infrastructure in a cross referenced way to help you understand and communicate how the business works. Use this early in your design process and never stop – you will get great results in your projects as you have the overview and understanding of everything.
Below are some selling points we usually bring forward when describing what ECO and AppComplete can do for you:
- Model driven development – Faster with better quality and easier to maintain – what is not to like?
- Model beautiful diagrams
- Bend and transform your model with ViewModels
- Derive database from your model
- For the database of your choice – SQLServer, Oracle, MySql and more
- Evolve the database as you change your model, Keep your data
- Derive UI’s from your ViewModels
- Use the ViewModels to prototype or deploy declarative user interfaces
- User interface agnostic; ASP.NET, WindowsForms, WPF – Silverlight
- Document your model and publish
- Reverse engineer existing database and use Model with all the other tools
- Define User interface validation rules in ViewModels
- Add behavioral rules with State machines
- Control read/write and visibility state in ViewModels declaratively with OCL
- Take advantages for fully subscribed derived attributes and associations
- Take advantages of UML inheritance
- Catch the processes in your domain and map them to information use
- Derive and Update .net code for a complete Domain Model
- Merge and mix your code with derived code
- Use with C#, Delphi.net or VB.NET
- Write your own persistence mappers to support your own storage
- Use XMLPersistanceMapper to save to file
- Tier your solution with client and server persistence mapper
- Hook up the built in Sync server and propagate changes between clients
- Use the built in Undo/Redo mechanism to make users happy
- Prototype faster than ever with WECPOF and AppComplete technologies
- Use Object Constraint Languange- OCL (Part of UML standard) to navigate your model
- Use Linq to rumble thru the domain layer
- Use Linq to rumble thru the database
- Appreciate the optimized fetch on demand that conserve SQL traffic
- Use the declarative pre-fetch mechanisms to get better speed where needed
- Define declarative actions to get prototyping or deploy of complete declarative applications
- Be amazed by the code reduction you get when the framework fully understand Associations
- Use Association classes the way they were meant to be used
- Add your own extensions to diagrams and show them as symbols
- Add enumeration types to get self-explanatory precision in your data
- Use “the dirt simple to use” object versioning mechanism to keep domain history
- Your server and client implementation use standard WCF
- Your UI use standard Xaml, or ASP.NET or WinForms
- Use OCL queries or Linq to access data from database
- Develop design time plugins and extend what you use your model for
- Use the TaggedValue extensions to catch additional information
CapableObjects is an independent privately held company that formed CapableObjects 2007 worked the same technology under the names BoldSoft, Borland and CodeGear. We have been working the model centric angle for 15 years – and we are just in the beginning.
Your understanding of information systems will change if you look at it from our angle. We do not know everything but we know models .
- You can start using it for definition today – you will use it for production when you are ready
- You can use it for prototyping or production deploy
- You can use it to document enterprise architecture to find the important associations between processes and information
- Use it as a proof of concept and prove your concepts before investing in them
- Relax after work – knowing that you can manage all conceivable changes that might be needed tomorrow