Ryan Ehrenreich is a software architect with over a decade of experience building mission critical windows and web applications on the Microsoft .NET Platform.
His passion is to combine highly complex back-end systems with front-ends user interfaces that are simple and intuitive, yielding the optimal user experience. His latest project, 1Schema.com, unifies Spreadsheets, SQL Databases, and NoSQL Databases under a common platform-independent schema and automates the production of platform-specific database code.
To accomplish this, he builds flexible, decoupled business logic in a C# middle-tier that is persisted to SQL Server using ADO .NET Entity Framework. He also builds highly functional front-ends using ASP .NET MVC 5, leveraging jQuery, jQuery UI, and Raphael.js (Scalable Vector Graphics library) to create rich client experiences. He also builds high performance T-SQL queries to accomplish tasks localized in the data tier.
His experience spans all stages of software development, including requirements gathering, solutions architecting, implementation, testing, and user-training. He uses Agile Software Development, Domain-Driven Design, and Test-Driven Development to ensure clients’ needs are fully met.
Mr. Ehrenreich currently is CEO of Decia LLC and is in the process of launching its flagship product (www.1Schema.com). He holds a Bachelor’s degree in Computer Science from Stanford University and a Master’s degree in Business Administration from UCLA Anderson.
Starting from a conceptual perspective, join with me to explore the patterns of platform-independent database design and how 1schema.com uses these patterns to automate complex database implementation tasks.
We will look at the database holistically; capturing both stored and computed values in our schema diagrams. This will yield a view of the database as a series of tubes that transports information through multiple transformations to produce useful results (think like the board game "Snakes and Ladders").
We will use the analogy of data as “water” to show how the same physical principles that apply to the pipes in your house can greatly inform your conceptual understanding of database design.
By specifying schema in a way that clearly indicates the paths through which data can “flow”, you will develop an intuitive understanding of which tables allow data to flow automatically, and which tables require “work” (i.e. aggregation) to move data against the natural “gravity” of your schema.
While simple at heart, this presentation will leverage Domain-Driven Design and the Enterprise Integration Patterns (aka Enterprise Messaging Patterns) to show how spreadsheet-style Formulas can be used to efficiently encode SQL and MapReduce logic in your schema.
Finally, we will show how 1schema.com can be used as a powerful tool to automate complex tasks based on this shared conceptual understanding.
Also, we will provide a "Snakes and Ladders" board game for kids to play.