Sitemule.com/ d. 3 February 2016: DMD, XPD, Node.js, IceBreak Niels Liisberg – Sitemule.com Öresund Sencha & HTML5 Meetup Model Driven Development With.

Slides:



Advertisements
Similar presentations
Building FHIR Servers on Existing Applications
Advertisements

Chapter 10: Designing Databases
Business Development Suit Presented by Thomas Mathews.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Apache Struts Technology
Lecture-7/ T. Nouf Almujally
Aneef Fashir Software Architect Assette. About Myself 5 years of experience in programming. BSc(Hons) in Computer Science and MIS. Currently working at.
Unified Modeling Language
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Peoplesoft Fundamentals David Lewis 10/18/02 (adapted from Psoft Training Materials)
Lecture Microsoft Access and Relational Database Basics.
Object Relational Mapping. What does ORM do? Maps Object Model to Relational Model. Resolve impedance mismatch. Resolve mapping of scalar and non-scalar.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Geographic Information Systems
Team System and Microsoft Solutions Framework Alan Cameron Wills Architect, MSF
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Attribute databases. GIS Definition Diagram Output Query Results.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Information systems and databases Database information systems Read the textbook: Chapter 2: Information systems and databases FOR MORE INFO...
New GUI Use cases and topics for discussion Your hosts today Martin Hecht Olsen CEO & Sales Executive Niels Liisberg CTO & Chief Software Architect.
Nilesh Mandani Competencies include: Volume Licensing Enterprise Resource Planning Customer Relationship Management Business Intelligence Proposal for.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Enterprise Object Framework. What is EOF? Enterprise Objects Framework is a set of tools and resources that help you create applications that work with.
Application Packaging Standard Fundamentals
SQLTeach Presentation Template Use of this template is mandatory (no exceptions) Please note the orientation of this presentation is landscape (16:10);
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Data Governance Data & Metadata Standards Antonio Amorin © 2011.
Adapting an Existing Data Service to be caBIG™ Silver-level Compliant Peter Hussey LabKey Software, Inc, Seattle, WA USA Contact: Abstract.
SednaSpace A software development platform for all delivers SOA and BPM.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Component 4: Introduction to Information and Computer Science Unit 6: Databases and SQL Lecture 2 This material was developed by Oregon Health & Science.
1 Another group of Patterns Architectural Patterns.
Architectures Classic Client/Server Architecture Classic Web Architecture N-tier (multi-tier) Architecture FEN Databaser og Modellering.
NET-AUCTION This online auction project Directed by: Mr. Maxim Gurevich Submitted by: Yuri Kipnis Alex Scheotkin Alex Scheotkin.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Component 4/Unit 6b Topic II Relational Databases Keys and relationships Data modeling Database acquisition Database Management System (DBMS) Database.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Introducing Allors Applications, Tools & Platform.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Database Basics BCIS 3680 Enterprise Programming.
Presentation.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
VirtualWorks Format and Objectives The engineering process of VirtualWorks encompasses a set of functions to build a software system in line with the.
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools Jack Greenfield Architect Enterprise Tools Microsoft Corporation.
Relational Database Systems Bartosz Zagorowicz. Flat Databases  Originally databases were flat.  All information was stored in a long text file, called.
uses of DB systems DB environment DB structure Codd’s rules current common RDBMs implementations.
Using the Kentico CMS API Thom Robbins Bryan Soltis
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
1 Middle East Users Group 2008 Self-Service Engine & Process Rules Engine Presented by: Ryan Flemming Friday 11th at 9am - 9:45 am.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
Building Enterprise Applications Using Visual Studio®
Geographic Information Systems
MANAGING DATA RESOURCES
ARCH-1: Application Architecture made Simple
Software Design Lecture : 15.
Software Design Lecture : 14.
LitwareHR v2: an S+S reference application
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

sitemule.com/ d. 3 February 2016: DMD, XPD, Node.js, IceBreak Niels Liisberg – Sitemule.com Öresund Sencha & HTML5 Meetup Model Driven Development With ExtJS

sitemule.com/ Our challenge

sitemule.com/ What is model driven development? How can we use it Is ExtJs a good candidate for the UI? Tooling How we are using it Pitfalls and benefits Agenda

sitemule.com/ Is a design paradigm that: Defines data Behaviors Rules Roles Business logic … dynamically ! / ? Model driven software development

sitemule.com/ Enterprise architect Unified Modeling Language (UML) The “classical” approach

sitemule.com/ Unified Modeling Language

sitemule.com/ Unified Modeling Language Class diagram

sitemule.com/ Unified Modeling Language Component diagram

sitemule.com/ Enterprise Architect

sitemule.com/ EA is a great tool! Good for code generators Easy to create SQL tables/views from Complex. Of cause it does a lot. Not as “dynamic” as we like Not easy to adapt the model in web ui. Not available on client systems Our findings

sitemule.com/ A simple JSON file defining the model: Easy to handle from ExtJs: Dynamic ExtJs component factories on the fly Grid components and forms almost to easy. Easy to create SQL tables and views Creating server side proxies for ExtJs data stores on the fly. No code generators Abstract modeling Very agile What we came up with We called it: DMD – Domain model definition

sitemule.com/ The agile process Developer

sitemule.com/ DB/2 database Create Model SQL: Alter / create tables + views etc. Create Model SQL: Alter / create tables + views etc. The agile process Developer DMD

sitemule.com/ DB/2 database Create Model SQL: Alter / create tables + views etc. Create Model SQL: Alter / create tables + views etc. The agile process Proxy application Administrator ExtJs Developer WebSite jQuery IceBreak - webserver DMD

sitemule.com/ The agile process Proxy application Administrator ExtJs WebSite jQuery IceBreak - webserver DMD

sitemule.com/ No tooling Very proprietary No documentation To static What we came up with We called it: DMD – Domain model definition

sitemule.com/ An “item” does not always look the same

sitemule.com/ Placing properties in JSON directly in BLOB Adding UTF jsonGetStr(propcolumn, ‘key’) to DB/2 Row level dynamic Even more abstract design Need to be more dynamic, so: We called it: XPD – Extendable Property definition

sitemule.com/

Configuration over coding DMDDomain model definition XPDExtendable property definition Same code on all implementations No customer specific code ( Or rather: customized code can be isolated) Integration to existing systems (ERP) Inherit ERP tables as entities – like in OO What does that provide?

sitemule.com/ How does it intergrate to an ERP solution? Database challenges: 1.Missing columns 2.Different fields pr records 3.Product families and relations

sitemule.com/ DB Relations & Affiliations Field Properties, Values & Presentations File Definitions & Permissions Domain Model Definition (DMD) Read Read/Update

sitemule.com/ XPD (DB2)DB2 Extendable Property Definition (XPD) Item#TextPriceType 10Lorem ipsum dolor750,00A 20Cras eu magna650,00B 30Morbi quis arcu550,00B 40Duis tincidunt450,00C 50Quisque vitae350,00A 60Nunc sed turpis250,00C 70Sed vehicula lacus150,00D Length: 3Color: RedActive: TrueMark: X Weight: 1.5Active: False Color: YellowWeight: null Volume: 2 Color: BlueLength: 3Active: FalseMark: Y Volume: 2.5 Properties

sitemule.com/ What we came up with We called it: DMD – Domain model definition

sitemule.com/ { "batch":[{ "type": "sqltpl", "tplpath": "/www/portfolio/Public/samples/sqltpl/ getCustomer.sqltpl ", "parms": { "customerKey": "AIR002" } }] } Same service layer for admin ( ExtJs) and website SQL Template: getCustomer.sqltpl { "sql": "SELECT CUSTREF, NAME, SHORTNAME, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, POSTCODE, PHONE, WEBSITE, CONTACT FROM PORTFDEMO/CUSTMAST WHERE CUSTREF = ' $customerKey '" } { batch: [ { totalRows: 1, rows: [ { CUSTREF: "AIR002", NAME: "Air Products Plc.", SHORTNAME: "AIR PRODUCT", ADDRESS1: "2 Millennium Gate", ADDRESS2: "Westmere Drive", ADDRESS3: "Crewe", ADDRESS4: "London", POSTCODE: "CW1 6AP", PHONE: " ", WEBSITE: " CONTACT: "Douglas Fairbanks" } ] } ], success: true }

sitemule.com/ Deploy component changes system wide Streamlining customer implementations Time to market Messing with the model – messing with the entire system Learning curve First project startup time Pitfalls and benefits

sitemule.com/ Creating an ORM from our DMD/XMP Node.js Waterline (npm) Make it open source Next step

sitemule.com/ Peter Nøbbe Working with sitemule.com for one year Demo: filemanager Questions …. Using the domain model