Domain Driven Design. Informatik IT-Uddannelse og IT-Udvikling

Size: px
Start display at page:

Download "Domain Driven Design. Informatik IT-Uddannelse og IT-Udvikling"

Transcription

1 Domain Driven Design

2 Morten Mertner Senior Consultant, Teknologisk Institut - Architect and Software Developer (C#) - Teacher - Speaker (conferences and gatherings) Certifications - MSCD.NET - MCT Open Source - Gentle.NET (object persistence framework / object-relational mapper) - MbUnit (unit test framework)

3 Agenda Domain Driven Design - Introduction - Patterns - Entity and ValueObject - Repository - Specification - Extensions - Factory - Conclusion - Domain Models and SOA

4 TransactionScript vs Domain Model Transaction Script - procedural - simple and easy to understand - minimal performance overhead - often results in cut & paste reuse (hard to maintain) - does not scale to complicated tasks Domain Model - logic organised in units that cooperate to solve business operations and rules - concepts in problem domain are modelled as classes - true object-orientation

5 TransactionScript vs Domain Model

6 Introduction Patterns - Entity - ValueObject - Repository - Specification

7 DDD Entity Entity - uniquely identifyable (has identity) - equality comparison uses identity (not attribute values) - usually extended longevity Examples - Product - Customer - Order

8 Example: Order = Entity class Order { Customer customer; List<OrderLineItem> lineitems; public Order( Customer customer ) { this.customer = customer; lineitems = new List<OrderLineItems>(); public void AddLineItem( OrderLineItem li ) { lineitems.add(li); public void RemoveLineItem( OrderLineItem li ) { lineitems.remove(li); public IList<OrderLineItem> LineItems{ get { return lineitems; public float GetTotalPrice() { float result = 0; foreach( OrderLineItem li in lineitems ) { result += li.price; return result;

9 DDD ValueObject ValueObject - no identity - equality comparison uses attribute values - describes entities - should be immutable Example - OrderLineItem

10 Example: OrderLineItem = ValueObject class OrderLineItem { int quantity; Product product; float price; public OrderLineItem( Product p, int quantity, float price ) { this.product = p; this.quantity = quantity; this.price = price; public int Quantity { get { return quantity; public Product Product { get { return product; public float Price { get { return price;

11 DDD Entity & ValueObject

12 DDD Repository Repository - responsible for object persistence - interface similar to collection class - creates an illusion of all objects being in memory Example - CustomerRepository - ProductRepository - OrderRepository

13 Repository public interface IRepository<T> { void Add( T newelement ); void Remove( T element ); void Remove( int oid ); T FindByOID( int oid ); IList<T> Select(... ); public class AbstractRepository<T> : IRepository<T> { // implemenation code public class CustomerRepository : AbstractRepository<Customer> { public class OrderRepository : AbstractRepository<Order> { public class ProductRepository : AbstractRepository<Product> {

14 DDD Repository

15 DDD Specification Specification - business rule (encapsulated in an object) Purpose - data query - validation

16 DDD Specification interface ISpecification<T> { bool IsSatisfiedBy( T domainobject ); class GoldCustomerSpecification : ISpecification<Customer> { public bool IsSatisfiedBy( Customer customer ) { return customer.totalorderamount > 10000;

17 DDD Repository + Specification public interface IRepository<T> { void Add( T newelement ); void Remove( T element ); void Remove( int oid ); T FindByOID( int oid ); IList<T> Select( ISpecification<T> spec ); public class AbstractRepository<T> : IRepository<T> { // implemenation code public class CustomerRepository : AbstractRepository<Customer> { public class OrderRepository : AbstractRepository<Order> { public class ProductRepository : AbstractRepository<Product> {

18 Specification with Persistence Support interface ISpecification<T> { bool IsSatisfiedBy( T domainobject ); bool HasQuerySupport { get; string querystring { get; // ADO.NET interface ISpecification<T> { bool IsSatisfiedBy( T domainobject ); bool HasQuerySupport { get; Expression Criteria { get; // ORM (Gentle.NET 2.0)

19 RepositoryFactory RepositoryFactory - avoids coupling between entities in data access code - clean encapsulation of all database code - database provider independence (ADO.NET) - ORM independence

20 RepositoryFactory public interface IRepositoryFactory { IRepository<T> GetRepository<T>( T entitytype ); public class RepositoryFactory { IRepository<T> GetRepository<T>( T entitytype ) { return new GentleRepository<T>();

21 Usage // create new order Order order = new Order(); order.addlineitem( new OrderLineItem( product, 5, 50.0 ) ); OrderRepository orderrepository = RepositoryFactory.GetRepository<Order>(); orderrepository.add( order ); // find all gold customers CustomerRespository cr = RepositoryFactory.GetRepository<Customer>(); IList<Customer> goldies = cr.select( new GoldCustomerSpecification() ); // check whether a given customer is a gold customer Customer customer = ; if( new GoldCustomerSpecification().IsSatisfiedBy( customer ) ) {

22 Domain Models Advantages - provides sufficient abstraction to deal with complex problem domains - scales to very large code bases - common language between developers and domain experts - once mastered it is a powerful tool you rarely develop any other way Disadvantages - mapping domain objects to a relational database is difficult and timeconsuming (unless you use an ORM tool) - takes skill and effort to understand, experience to master

23 Domain Models and SOA

24 Resources Eric Evans Domain Driven Design Martin Fowler Patterns of Enterprise Application Architecture Steve Eichert (blog) Kim Harding Christensen, EOS

25 Implementation Gentle.NET open source ORM - working implementation ISpecification - ISpecification is called IFilter - IFilter supports Combine/Remove/Sort (both in-memory and data) - IObjectIdentity used to abstract object identifier (here we used int)

26 Implementation Source Code SourceBranches/2.0.0/Gentle.Persistence/Client/Repository/*.cs Documentation

27 Questions?

28 Thoughts & Unsolved Problems Transactions - transaction initiation and participation - cross-repository transactions - automatic enlisting Generics - make it difficult to put repository in base class - slightly more cumbersome than using non-generic classes RelationFilter - requires ability to modify not just the where-clause of queries

Serialization. Informatik IT-Uddannelse og IT-Udvikling

Serialization. Informatik IT-Uddannelse og IT-Udvikling Serialization Morten Mertner Senior Consultant, Teknologisk Institut - Architect and Software Developer (C#) - Teacher - Speaker (conferences and gatherings) Certificeringer - MSCD.NET - MCT Open Source

More information

Creating Models. Rob Allen, June 2014

Creating Models. Rob Allen, June 2014 Creating Models Rob Allen, June 2014 I make business websites 19ft.com The business logic is the hard part MVC MVC The model is the solution to a problem A problem A customer wants to plan a journey

More information

Windows Forms 2.0 Data Binding. Informatik IT-Uddannelse og IT-Udvikling

Windows Forms 2.0 Data Binding. Informatik IT-Uddannelse og IT-Udvikling Windows Forms 2.0 Data Binding Morten Mertner Senior Consultant, Teknologisk Institut [email protected] / [email protected] Architect and Software Developer Instructor Speaker (conferences

More information

Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture Patterns of Enterprise Application Architecture Martin Fowler With contributions from David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford A Addison-Wesley Boston San Francisco New

More information

CSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud

CSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud CSCI 5828 Spring 2010 Foundations of Software Engineering - Arpit Sud 1 Agenda What is it? Why to use it? When to use it? How to implement it? Where not to apply it? 2 Service oriented Architecture 3 What

More information

Architecture Rules Enforcement and Governance Using Aspects

Architecture Rules Enforcement and Governance Using Aspects Architecture Rules Enforcement and Governance Using Aspects Srini Penchikala SATURN 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ) Detroit Java User Group Leader Working with

More information

Security in Domain-Driven Design. Author: Michiel Uithol

Security in Domain-Driven Design. Author: Michiel Uithol Security in Domain-Driven Design Author: Michiel Uithol Supervisors: dr.ir. M.J. van Sinderen dr.ir. L. Ferreira Pires T. Zeeman (Sogyo) E. Mulder (Sogyo) ii Security in Domain Driven Design Abstract Application

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP e-informatica Software Engineering Journal, Volume 4, Issue, 200 Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska, Krzysztof Kasprzyk Faculty of Computer

More information

Software Service Engineering Architect s Dream or Developer s Nightmare?

Software Service Engineering Architect s Dream or Developer s Nightmare? Software Service Engineering Architect s Dream or Developer s Nightmare? Gregor Hohpe Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043 [email protected] Abstract. Architectural principles such

More information

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company. www.cbdiforum.

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company. www.cbdiforum. Independent Insight for Oriented Practice An SOA Roadmap John C. Butler Chief Architect A CBDI Partner Company www.cbdiforum.com Agenda! SOA Vision and Opportunity! SOA Roadmap Concepts and Maturity Levels!

More information

Software Life-Cycle Management

Software Life-Cycle Management Ingo Arnold Department Computer Science University of Basel Theory Software Life-Cycle Management Architecture Styles Overview An Architecture Style expresses a fundamental structural organization schema

More information

How To Design Your Code In Php 5.5.2.2 (Php)

How To Design Your Code In Php 5.5.2.2 (Php) By Janne Ohtonen, August 2006 Contents PHP5 Design Patterns in a Nutshell... 1 Introduction... 3 Acknowledgments... 3 The Active Record Pattern... 4 The Adapter Pattern... 4 The Data Mapper Pattern...

More information

Patterns & Techniques for Separating Business Logic in New SOA System Development. Iyad Jabri Intelliun Corporation CEO

Patterns & Techniques for Separating Business Logic in New SOA System Development. Iyad Jabri Intelliun Corporation CEO Patterns & Techniques for Separating Business Logic in New SOA System Development Iyad Jabri Intelliun Corporation CEO Building a Service Oriented Architecture with BPM & MDA October 16-19, 2006 Burlingame,

More information

Government's Adoption of SOA and SOA Examples

Government's Adoption of SOA and SOA Examples Government's Adoption of SOA and SOA Examples Presented by : Ajay Budhraja, Chief of Enterprise Services ME (Engg), MS (Management), PMP, CICM, CSM, ECM (Master) AIIM, ITIL-F Copyright 2008 Ajay Budhraja

More information

A place for everything, everything in its place Benjamin Franklin

A place for everything, everything in its place Benjamin Franklin A place for everything, everything in its place Benjamin Franklin What do I do I create software holistic approach Technology (Java, Java EE) and Craftsmanship Design, architecture, usability Exploration

More information

A Reference Architecture for Self-organizing Service-oriented Computing

A Reference Architecture for Self-organizing Service-oriented Computing A Reference Architecture for Self-organizing Service-oriented Computing Lei Liu, Stefan Thanheiser, Hartmut Schmeck Institute for Applied Informatics und Formal Description Methods (AIFB) Karlsruhe Institute

More information

How To Use An Informix System With A Computer System (For A Dba)

How To Use An Informix System With A Computer System (For A Dba) Open Source and Third Party Software Supporting Informix Ognjen Orel University Computing Centre, University of Zagreb, Croatia, EU 1 Who am I? Project manager, DBA, developer 16 years Informix experience

More information

SOA-14: Continuous Integration in SOA Projects Andreas Gies

SOA-14: Continuous Integration in SOA Projects Andreas Gies Distributed Team Building Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree

More information

An Overview of SAP BW Powered by HANA. Al Weedman

An Overview of SAP BW Powered by HANA. Al Weedman An Overview of SAP BW Powered by HANA Al Weedman About BICP SAP HANA, BOBJ, and BW Implementations The BICP is a focused SAP Business Intelligence consulting services organization focused specifically

More information

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:

More information

SOA REFERENCE ARCHITECTURE: WEB TIER

SOA REFERENCE ARCHITECTURE: WEB TIER SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible

More information

Shopping Cart. Analysis & Design. Author:John Smith P08/22-43. Version:1.7 Status:Draft Publication:23/05/2013 Copyright:Modeliosoft

Shopping Cart. Analysis & Design. Author:John Smith P08/22-43. Version:1.7 Status:Draft Publication:23/05/2013 Copyright:Modeliosoft P08/22-43 Shopping Cart Analysis & Design Author:John Smith Version:1.7 Status:Draft Publication:23/05/2013 Copyright: 21, avenue Victor Hugo, 75016 Paris Table of Contents 1 Introduction... 4 2 Use Cases...

More information

Chapter 6 Basics of Data Integration. Fundamentals of Business Analytics RN Prasad and Seema Acharya

Chapter 6 Basics of Data Integration. Fundamentals of Business Analytics RN Prasad and Seema Acharya Chapter 6 Basics of Data Integration Fundamentals of Business Analytics Learning Objectives and Learning Outcomes Learning Objectives 1. Concepts of data integration 2. Needs and advantages of using data

More information

Object Oriented Database Management System for Decision Support System.

Object Oriented Database Management System for Decision Support System. International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 6 (June 2014), PP.55-59 Object Oriented Database Management System for Decision

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15 Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group Tuesday June 12 1:00-2:15 Service Oriented Architecture and the DBA What is Service Oriented Architecture (SOA)

More information

Data Governance and CA ERwin Active Model Templates

Data Governance and CA ERwin Active Model Templates Data Governance and CA ERwin Active Model Templates Vani Mishra TechXtend March 19, 2015 ER07 Presenter Bio About the Speaker: Vani is a TechXtend Data Modeling practice manager who has over 10+ years

More information

Programming Without a Call Stack: Event-driven Architectures

Programming Without a Call Stack: Event-driven Architectures Gregor Hohpe Google Programming Without a Call Stack: -driven Architectures www.eaipatterns.com Who's Gregor? Distributed systems, enterprise integration, service-oriented architectures MQ, MSMQ, JMS,

More information

Net-WMS FP6-034691. Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Net-WMS FP6-034691. Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT Networked Businesses D.8.1 Networked architecture J2EE compliant ( Version 1 ) Due date of deliverable: June 30 th, 2007 Actual submission date:

More information

So we thought we knew money

So we thought we knew money So we thought we knew money Ying Hu Sam Peng Here at Custom House Global Foreign Exchange, we have built and are continuing to evolve a system that processes online foreign exchange transactions. Currency,

More information

Does function point analysis change with new approaches to software development? January 2013

Does function point analysis change with new approaches to software development? January 2013 Does function point analysis change with new approaches to software development? January 2013 Scope of this Report The information technology world is constantly changing with newer products, process models

More information

Enterprise Application Integration (EAI) Techniques

Enterprise Application Integration (EAI) Techniques Enterprise Application Integration (EAI) Techniques The development of technology over the years has led to most systems within an organisation existing in heterogeneous environments. That is to say, different

More information

Monday, April 8, 13. Creating Successful Magento ERP Integrations

Monday, April 8, 13. Creating Successful Magento ERP Integrations Creating Successful Magento ERP Integrations Happy Together Creating Successful Magento ERP Integrations David Alger CTO / Lead Engineer www.classyllama.com A Little About Me Exclusively focused on Magento

More information

Skills for Employment Investment Project (SEIP)

Skills for Employment Investment Project (SEIP) Skills for Employment Investment Project (SEIP) Standards/ Curriculum Format for Web Application Development Using DOT Net Course Duration: Three Months 1 Course Structure and Requirements Course Title:

More information

Postgres Plus Advanced Server

Postgres Plus Advanced Server Postgres Plus Advanced Server An Updated Performance Benchmark An EnterpriseDB White Paper For DBAs, Application Developers & Enterprise Architects June 2013 Table of Contents Executive Summary...3 Benchmark

More information

September 18, 2014. Modular development in Magento 2. Igor Miniailo Magento

September 18, 2014. Modular development in Magento 2. Igor Miniailo Magento September 18, 2014 Modular development in Magento 2 Igor Miniailo Magento Agenda 1 Magento 2 goals 2 Magento 1 modules 3 Decoupling techniques 4 Magento 2 is it getting better? 5 Modularity examples Magento

More information

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 OBJECTS AND DATABASES CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 Relational Model and 1NF 2 Relational model specifies that all attribute domains must be atomic A database

More information

MDM Registry Pros and Cons

MDM Registry Pros and Cons Global Data Competency Adam J. White President MDM Registry Pros and Cons August 24, 2009 Agenda Fundamental MDM Implementation Styles PROS and CONS of Registry Style Determining MDM Style to Implement

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,

More information

Cloud application services (SaaS) Multi-Tenant Data Architecture Shailesh Paliwal Infosys Technologies Limited

Cloud application services (SaaS) Multi-Tenant Data Architecture Shailesh Paliwal Infosys Technologies Limited Cloud application services (SaaS) Multi-Tenant Data Architecture Shailesh Paliwal Infosys Technologies Limited The paper starts with a generic discussion on the cloud application services and security

More information

Software Development Best Practices

Software Development Best Practices Software Development Best Practices Artifact Reuse Supported by Modern Team Communication Tools and Patterns Andrew Bose Principal (979) 777-1431 [email protected] Pariveda Solutions, Inc.

More information

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure Patriek van Dorp and Alex Thissen About me: Patriek van Dorp [email protected] @pvandorp Xpirit http://onwindowsazure.com

More information

Variable Base Interface

Variable Base Interface Chapter 6 Variable Base Interface 6.1 Introduction Finite element codes has been changed a lot during the evolution of the Finite Element Method, In its early times, finite element applications were developed

More information

Managing a Class Hierarchy with SQL in Matisse

Managing a Class Hierarchy with SQL in Matisse Managing a Class Hierarchy with SQL in Matisse A Technical Brief Matisse Software Inc. 2003 MATISSE SOFTWARE INC., ALL RIGHTS RESERVED. Matisse is a registered trademark of Matisse software Inc. Other

More information

Data Grids. Lidan Wang April 5, 2007

Data Grids. Lidan Wang April 5, 2007 Data Grids Lidan Wang April 5, 2007 Outline Data-intensive applications Challenges in data access, integration and management in Grid setting Grid services for these data-intensive application Architectural

More information

The Lab and The Factory

The Lab and The Factory The Lab and The Factory Architecting for Big Data Management April Reeve DAMA Wisconsin March 11 2014 1 A good speech should be like a woman's skirt: long enough to cover the subject and short enough to

More information

.NET Overview. David Smith. Today s s Topics. Why am I here? A tool. Microsoft s s Vision for.net

.NET Overview. David Smith. Today s s Topics. Why am I here? A tool. Microsoft s s Vision for.net .NET Overview David Smith Microsoft Student Ambassador CS Major Michigan State University Today s s Topics Why I m I m here. Exciting Demo IssueVision What is.net? Why learn.net? Look into the Demo Old

More information

10 Years of Hype Cycles - Do We Forget Knowledge?

10 Years of Hype Cycles - Do We Forget Knowledge? 10 Years of Hype Cycles - Do We Forget Knowledge? Aaron McConnell Research Scientist IU-ATC School of Computing and Information Engineering University of Ulster at Coleraine Northern Ireland Aaron McConnell

More information

Improved SOA Portfolio Management with Enterprise Architecture and webmethods

Improved SOA Portfolio Management with Enterprise Architecture and webmethods Improved SOA Portfolio Management with Enterprise Architecture and webmethods Patrick Buech Product Management, Enterprise Architecture Management Sumeet Bhatia Senior Director, Enterprise Architecture

More information

SOA REFERENCE ARCHITECTURE: SERVICE ORIENTED ARCHITECTURE

SOA REFERENCE ARCHITECTURE: SERVICE ORIENTED ARCHITECTURE SOA REFERENCE ARCHITECTURE: SERVICE ORIENTED ARCHITECTURE SOA Blueprint A structured blog by Yogish Pai Service Oriented Infrastructure (SOI) As the infrastructure to support SOA, service-oriented infrastructure

More information

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,

More information

Domain-Driven Design

Domain-Driven Design SWE577 2011S 1 Domain-Driven Design Ali Fındık Abstract Domain Driven Design (DDD) is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of

More information

Using IRDB in a Dot Net Project

Using IRDB in a Dot Net Project Note: In this document we will be using the term IRDB as a short alias for InMemory.Net. Using IRDB in a Dot Net Project ODBC Driver A 32-bit odbc driver is installed as part of the server installation.

More information

SOA & Web Services Development Survey

SOA & Web Services Development Survey Brochure More information from http://www.researchandmarkets.com/reports/661172/ SOA & Web Services Development Survey Description: The SOA and Web Services Development Survey examines the usage patterns,

More information

Building Scalable Applications Using Microsoft Technologies

Building Scalable Applications Using Microsoft Technologies Building Scalable Applications Using Microsoft Technologies Padma Krishnan Senior Manager Introduction CIOs lay great emphasis on application scalability and performance and rightly so. As business grows,

More information

MDM and SOA Timo Itälä T-86.5161

MDM and SOA Timo Itälä T-86.5161 MDM and SOA Timo Itälä T-86.5161 Outline Need for SOA Options for SOA Need for common master data in SOA Discovering master data Managing master data Managing external master data SOA and MDM 2 Recap:

More information

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING 03-23-05 Christine Green, PMI PMBOK and Estimating EDS, Delivery

More information

ORM IN WEB PROGRAMMING. Course project report for 6WW Erik Wang

ORM IN WEB PROGRAMMING. Course project report for 6WW Erik Wang ORM IN WEB PROGRAMMING Course project report for 6WW Erik Wang Problems with web programming When people do the web design Design from functional aspects Programmer also needs to understand database Code

More information

Domain driven design, NoSQL and multi-model databases

Domain driven design, NoSQL and multi-model databases Domain driven design, NoSQL and multi-model databases Java Meetup New York, 10 November 2014 Max Neunhöffer www.arangodb.com Max Neunhöffer I am a mathematician Earlier life : Research in Computer Algebra

More information

DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner

DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner Introduction One of our customers, a major Austrian retailer, approached us with specific

More information

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy What is Data Virtualization? by Rick F. van der Lans, R20/Consultancy August 2011 Introduction Data virtualization is receiving more and more attention in the IT industry, especially from those interested

More information

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers Steve Smith Combined Knowledge MVP SharePoint Server Scaling out a SharePoint Farm and Configuring Network Load Balancing

More information

Enterprise Data Integration for Microsoft Dynamics CRM

Enterprise Data Integration for Microsoft Dynamics CRM Enterprise Data Integration for Microsoft Dynamics CRM Daniel Cai http://danielcai.blogspot.com About me Daniel Cai Developer @KingswaySoft a software company offering integration software and solutions

More information

Mobile App Discovery through Conceptual Models

Mobile App Discovery through Conceptual Models Mobile App Discovery through Conceptual Models Jasmin Brakmic, BSc Supervisor: Prof. Dr. Dimitris Karagiannis Research Group Knowledge Engineering University of Vienna, 24.01.2013 Agenda 1. Motivation

More information

QLIKVIEW ARCHITECTURE AND SYSTEM RESOURCE USAGE

QLIKVIEW ARCHITECTURE AND SYSTEM RESOURCE USAGE QLIKVIEW ARCHITECTURE AND SYSTEM RESOURCE USAGE QlikView Technical Brief April 2011 www.qlikview.com Introduction This technical brief covers an overview of the QlikView product components and architecture

More information

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Shyam Kumar Doddavula, Sandeep Karamongikar Abstract This article is an attempt to present an approach for transforming

More information

What is Data Virtualization?

What is Data Virtualization? What is Data Virtualization? Rick F. van der Lans Data virtualization is receiving more and more attention in the IT industry, especially from those interested in data management and business intelligence.

More information

OVERVIEW OF JPSEARCH: A STANDARD FOR IMAGE SEARCH AND RETRIEVAL

OVERVIEW OF JPSEARCH: A STANDARD FOR IMAGE SEARCH AND RETRIEVAL OVERVIEW OF JPSEARCH: A STANDARD FOR IMAGE SEARCH AND RETRIEVAL Frédéric Dufaux, Michael Ansorge, and Touradj Ebrahimi Institut de Traitement des Signaux Ecole Polytechnique Fédérale de Lausanne (EPFL)

More information

1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience...

1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... Slice Documentation Slice Documentation 1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... 1 2. Features

More information

Der Mythos vom Re-Use

Der Mythos vom Re-Use Der Mythos vom Re-Use Was ist dran an der Wiederverwendung? Uwe Friedrichsen, codecentric GmbH SET 2009, Zürich, 5. Mai 2009 Uwe Friedrichsen Architect Consultant Project Manager Coach Software Architecture

More information

OSLC ALM-PLM Interoperability Proof of Concept. Mike Loeffler Systems Engineering IT Specialist General Motors Company michael.loeffler@gm.

OSLC ALM-PLM Interoperability Proof of Concept. Mike Loeffler Systems Engineering IT Specialist General Motors Company michael.loeffler@gm. OSLC ALM-PLM Interoperability Proof of Concept Mike Loeffler Systems Engineering IT Specialist General Motors Company [email protected] Disclaimers and Fine Print No information contained herein

More information

Service Oriented Architecture 1 COMPILED BY BJ

Service Oriented Architecture 1 COMPILED BY BJ Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA

More information

Advanced IT Pro Course for Office SharePoint Server 2007 and SharePoint Services 3.0

Advanced IT Pro Course for Office SharePoint Server 2007 and SharePoint Services 3.0 Advanced IT Pro Course for Office SharePoint Server 2007 and SharePoint Services 3.0 50047: Advanced IT Pro Course for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0 (5 Days)

More information

the smarter way to manage enterprise APIs for SYSPRO ebook

the smarter way to manage enterprise APIs for SYSPRO ebook the smarter way to manage enterprise APIs for SYSPRO ebook ebook Chapter Menu 1. Overview.. 3 2. Overcoming Barriers to Enterprise Integration... 4 3. Working with Mobile APIs. 9 4. Accelerating Syspro

More information

Types & Uses of Databases

Types & Uses of Databases Types & Uses of Databases Connolly/Beggs Chapter 1 Ramakrishnan Chapter 1 Overview What is a database? File-Based Systems What are they? The Database Approach What is it? Data Models Database Management

More information

Building Out BPM/SOA Centers of Excellence Business Driven Process Improvement

Building Out BPM/SOA Centers of Excellence Business Driven Process Improvement Building Out BPM/SOA Centers of Excellence Business Driven Process Improvement Bill Swenton, Jr., PMP, CSM Senior Practice Director Oracle Consulting Thursday, October 2, 2014 10:45-11:30am Safe Harbor

More information

COSC 6397 Big Data Analytics. 2 nd homework assignment Pig and Hive. Edgar Gabriel Spring 2015

COSC 6397 Big Data Analytics. 2 nd homework assignment Pig and Hive. Edgar Gabriel Spring 2015 COSC 6397 Big Data Analytics 2 nd homework assignment Pig and Hive Edgar Gabriel Spring 2015 2 nd Homework Rules Each student should deliver Source code (.java files) Documentation (.pdf,.doc,.tex or.txt

More information

Analysis and Design of Software Systems Practical Session 01. System Layering

Analysis and Design of Software Systems Practical Session 01. System Layering Analysis and Design of Software Systems Practical Session 01 System Layering Outline Course Overview Course Objectives Computer Science vs. Software Engineering Layered Architectures Selected topics in

More information

Software Architect Track

Software Architect Track Ministry of Communications and Information Technology Information Technology Institute Software Architect Track System Development & Gaming Center Of Excellence Intake 35 Historical Background Software

More information

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable

More information

Raima Database Manager Version 14.0 In-memory Database Engine

Raima Database Manager Version 14.0 In-memory Database Engine + Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized

More information

Track and Keynote/Session Title 9:00:00 AM Keynote 11g Database Development Java Track Database Apex Track.Net Track. 09:30:00 AM with Oracle and

Track and Keynote/Session Title 9:00:00 AM Keynote 11g Database Development Java Track Database Apex Track.Net Track. 09:30:00 AM with Oracle and Oracle Technology Network Virtual Develop Day: Date and Time- Americas - Wednesday September 13, 2011 9:00am -13:00pm PDT 11am -15:00pm CDT 12Noon 16:00pm EDT 13:00am 17:00pm BRT Agenda Time Track and

More information

A Beginners Guide to Fusion Middleware

A Beginners Guide to Fusion Middleware A Beginners Guide to Fusion Middleware Hans Forbrich Forbrich Computer Consulting Ltd. Congratulations of Brazil for your OTN Tour! Thank you to our interpreter And Thank You for inviting me A Beginners

More information

Data Management in the Cloud

Data Management in the Cloud Data Management in the Cloud Ryan Stern [email protected] : Advanced Topics in Distributed Systems Department of Computer Science Colorado State University Outline Today Microsoft Cloud SQL Server

More information

Enterprise Application Development In Java with AJAX and ORM

Enterprise Application Development In Java with AJAX and ORM Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering [email protected] http://paulgrenyer.blogspot.com

More information

Computer Information Systems (CIS)

Computer Information Systems (CIS) Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.

More information

... Introduction... 17

... Introduction... 17 ... Introduction... 17 1... Workbench Tools and Package Hierarchy... 29 1.1... Log on and Explore... 30 1.1.1... Workbench Object Browser... 30 1.1.2... Object Browser List... 31 1.1.3... Workbench Settings...

More information