How to build successful DSL s

Size: px
Start display at page:

Download "How to build successful DSL s"

Transcription

1 How to build successful DSL s Octavie van Haaften Leendert Versluijs 5 juni

2 AGENDA Process Demo 2

3 What: The Goal Modeling must be less work than coding Generate code that runs Being able to always re-generate Code always conform a reference architecture Only for reoccurring patterns Usable for junior developers 3

4 What: The Domain Medium to large scale administrative systems Based on Microsoft architecture Latest available Microsoft technology Service oriented Open standards Microsoft & open source components Clear, explicit choices 4

5 What: The Architecture and Components Users User Interface components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Business Processes Business Classes User Processes Service Interfaces Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 5

6 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Business Processes Users User Interface components Business Classes Controls (Validation) (AJAX) User Processes Service Interfaces Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 6

7 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Processes Business Classes Controls (Validation) Microsoft (AJAX) UI Process Service Interfaces Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 7

8 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users Controls (Validation) Microsoft (AJAX) UI Process User Interface components User Processes Application Building Block Validation (Custom attributes) Service Interfaces Business Processes Business Workflows Business Classes Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 8

9 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users Controls (Validation) Microsoft (AJAX) UI Process User Interface components User Processes Application Building Block Validation WCF (Custom (Behaviours) attributes) Service Interfaces Business Processes Business Workflows Business Classes Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 9

10 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Service Interfaces (Translation for DTO s) Controls Validation WCF (Custom (Behaviours) attributes) Business Processes (Base classes) Business Workflows Business Classes Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 10

11 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 11

12 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO NHibernate Data Access Logic Components Data Service Agents 12

13 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Log4Net Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO NHibernate Data Access Logic Components Data Service Agents 13

14 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Log4Net Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO NHibernate Data Access Logic Components Data Service Agents 14

15 Define: Analyze the code Static code is put into framework Re-occuring patterns are generated from a DSL The rest: keep writing the code by hand Tradeoffs : the division between putting something in the framework or generating code is iteratively being adjusted. 15

16 Define: Rules of the Game Define the concepts that you need in your DSL to generate the required code Focus on concepts above programming language level Keep a DSL small and simple Keep models for a DSL small Assume that you will need multiple DSLs Storyboard the models 16

17 Define: The Models Users Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Service DSL Business Processes Web-Scenario User Interface components User Processes Service Interfaces Business Classes DSL DSL Business Workflows Service Agents Data Contract DSL Workflow Foundation Sequential workflows DTO ListItem DTO Data Access Logic Components Data Service Agents 17

18 Build: Model Integration & Validation /> <HTML> <BODY> Hello World </BODY> </HTML> Class MyClass { public string Hello() { return Hello world ; } } DSL Specifiek Framework Class MyClass { public string Hello() { return Hello world ; } } DSL Specifiek Framework Generiek Framework Class MyClass { public string Hello() { return Hello world ; } } <Mapping> <Class> <Table> </Mapping> DSL Specifiek Framework CREATE TABLE MyTable FIELD1 int FIELD2 varchar(50) 18

19 Build: NDIP Ordina NDIP Code generation support Cross model validation DSL Intellisense support Propagate model changes Ordina Web Scenario Designer Ordina Data Contract Designer Ordina Service Designer Ordina Business Class Designer Output Output Output Output 19

20 Build: Code Generation Strategies Code generation templates (T4) Never change generated code, extend it Design extension points in generated code Code generation patterns Abstract Base Class GENERATED Partial Concrete SubClass GENERATED HAND WRITTEN Partial SubClass Extension XML merging Need partial XML files (a la partial C# classes) Configurable Controls and Unique identifiers 20

21 Build: Usability Visual Studio.NET Instant action on save Validation Generation Popups for complex editing tasks IntelliSense Generation of multiple files Cross project generation Files under model 21

22 Use: Create Fertile Environment Workshops developed Underlying architecture, framework & components The DSL s Development process with DSLs Project support Life Wiki for how-to's Q&A Release management Keep technology up to date Add new functionality Release new versions of DSL s regularly 22

23 23

24 Take Away s Keep DSLs small A DSL doesn t live standalone, you need an NDIP Model is the unit of version control, multiuser access, etc. Everything in a model is used for code generation Models are leading: never touch the generated code Don t aim for 100% code generation The success lies in the usage of your DSL 24

25 ORDINA N.V. Ringwade 1 Tel: LM Nieuwegein Fax: info@ordina.nl

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE. CUSTOMER PAIN POINTS 1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.NET FRAMEORK. THAT S TAKING UP SPACE ON MY HARDDRIVE

More information

User Authentication Best Practices for E-Signatures Wednesday February 25, 2015

User Authentication Best Practices for E-Signatures Wednesday February 25, 2015 User Authentication Best Practices for E-Signatures Wednesday February 25, 2015 Agenda E-Signature Overview Legality, Authentication & Best Practices Role of authentication in e-signing Options and applications

More information

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group 2008 IBM Corporation Agenda XPage overview From palette to properties: Controls, Ajax

More information

BIG MODELS AN ALTERNATIVE APPROACH

BIG MODELS AN ALTERNATIVE APPROACH 2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.

More information

Lab 08. Command Line and Git

Lab 08. Command Line and Git Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize

More information

Rapid Application Development with APEX 5.0

Rapid Application Development with APEX 5.0 Rapid Application Development with APEX 5.0 Anthony Rayner Principal Member of Technical Staff Oracle Application Express Oracle UK The following is intended to outline Oracle s general product direction.

More information

P a g e 1. Danish Tecnological Institute. Developer Collection Online Course k Developer Collection

P a g e 1. Danish Tecnological Institute. Developer Collection   Online Course k Developer Collection P a g e 1 Online Course k72809 P a g e 2 Title Estimated Duration (hrs) Adobe Acrobat Pro XI Fundamentals 1 Introduction to CQRS 2 Introduction to Eclipse 2 NHibernate Essentials 2 Advanced Scrum: Addressing

More information

Automate to Innovate L EA RN WHAT SCRIPTING CAN DO FOR YOU P U N E E T S I N G H

Automate to Innovate L EA RN WHAT SCRIPTING CAN DO FOR YOU P U N E E T S I N G H Automate to Innovate LEARN WHAT SCRIPTING CAN DO FOR YOU PUNEET SINGH Agenda Target Audience What will be covered in the session? Why Automate? Where to Automate? Where to Automate Examples How to Start

More information

"Charting the Course... MOC A Developing Data Access Solutions with Microsoft Visual Studio Course Summary

Charting the Course... MOC A Developing Data Access Solutions with Microsoft Visual Studio Course Summary Description Course Summary In this course, experienced developers who know the basics of data access (CRUD) in Windows client and Web application environments will learn to optimize their designs and develop

More information

Welcome! COMP s1. Programming Fundamentals

Welcome! COMP s1. Programming Fundamentals Welcome! 0 COMP1511 18s1 Programming Fundamentals COMP1511 18s1 Lecture 5 1 More Loops Andrew Bennett while loops loops inside loops stopping loops 2 Before we begin introduce

More information

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan COSC 341 Human Computer Interaction Dr. Bowen Hui University of British Columbia Okanagan 1 Recall: Learning About Your User Common ways to elicit user feedback: Interviews Focus groups Expert reviews

More information

Overview and Demonstration

Overview and Demonstration IBM Software Group Overview and Demonstration IBM Corporation Harley Davidson Agenda Overview Demonstration Create a Form Forms within a portal Futures Summary IBM Software Group Manual Forms create challenges

More information

Developing Data Access Solutions with Microsoft Visual Studio 2010

Developing Data Access Solutions with Microsoft Visual Studio 2010 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Code: 10265A; Five days; Instructor-Led About this Course In this course, experienced developers who know the basics of data access

More information

Architecting ASP.NET Applications

Architecting ASP.NET Applications Architecting ASP.NET Applications About me Name: Gunnar Peipman Origin: Tallinn, Estonia Work: Architect, developer Microsoft: ASP.NET/IIS MVP Community: Blogger, speaker Blog: http://gunnarpeipman.com

More information

CM Mega Menu Documentation

CM Mega Menu Documentation CM Mega Menu Documentation Release 1.0.0 CMExtension May 26, 2016 Contents 1 Overview 3 1.1 Technical Requirements......................................... 3 2 Installation 5 2.1 Upgrading................................................

More information

Creating an Intranet using Lotus Web Content Management. Part 2 Project Planning

Creating an Intranet using Lotus Web Content Management. Part 2 Project Planning Creating an Intranet using Lotus Web Content Management Introduction Part 2 Project Planning Many projects have failed due to poor project planning. The following article gives an overview of the typical

More information

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. 2015 The MathWorks, Inc. 1 Designing complex systems Is there something I don t know about

More information

Design Iteration: From Evidence to Design. Slides originally by: Dick Henneman

Design Iteration: From Evidence to Design. Slides originally by: Dick Henneman Design Iteration: From Evidence to Design Slides originally by: Dick Henneman Foundations: MS-HCI @ Georgia Tech Context of use Context of development Analyze/ Evaluate Design/B uild Evidence-Based Design

More information

Course Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led

Course Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led About this Course In this course, experienced developers who know the basics of data access (CRUD)

More information

Where Do We Go From Here? Why Many IT Staff are Living in the Past

Where Do We Go From Here? Why Many IT Staff are Living in the Past Where Do We Go From Here? Why Many IT Staff are Living in the Past SAGE Computing Services Customised Oracle Training Workshops and Consulting Chris Muir Senior Consultant Agenda Oracle technology latest

More information

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...

More information

The Advantages of a ready-to-go Intranet

The Advantages of a ready-to-go Intranet The Advantages of a ready-to-go Intranet Why choose a ready-to-go intranet? Regardless of the size, amount of employees or field of work, almost any business experiences an increase in productivity and

More information

HARNESSING THE POWER OF ONLINE CONTENT IN OLM

HARNESSING THE POWER OF ONLINE CONTENT IN OLM OLM (ebs.abc.com) OLM Player Window Content Server (content.xyz.com) End User HARNESSING THE POWER OF ONLINE CONTENT IN OLM Presented March 2014 Anne Saulnier & John Hobart WEBINAR AGENDA Online Tracking

More information

PnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure

PnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure LTRNMS-2007 PnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure Thomas Gerneth, Julian Mueller,Tobias Huelsdau Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after

More information

Open Health Tools UI Platform The MITRE Corporation. All rights Reserved. Approved for Public Release: XXXXX. Distribution Unlimited.

Open Health Tools UI Platform The MITRE Corporation. All rights Reserved. Approved for Public Release: XXXXX. Distribution Unlimited. Open Health Tools UI Platform Approved for Public Release: XXXXX. Distribution Unlimited. Agenda UI Problem Open Health Tool UI Platform Collaboration OHT UI Platform Architecture Enabling Innovation UI

More information

Seng310 Lecture 8. Prototyping

Seng310 Lecture 8. Prototyping Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June

More information

Mobile Programming Lecture 1. Getting Started

Mobile Programming Lecture 1. Getting Started Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in

More information

Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning

Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning Duration: 5.00 Day(s)/ 40 hrs Overview: This five-day

More information

School capacity (SCAP) COLLECT Guide

School capacity (SCAP) COLLECT Guide School capacity (SCAP) 2014 COLLECT Guide May 2014 Contents COLLECT and secure access 3 Adding a return on screen 7 Updating net capacity and published admission numbers (PANs) 9 Adding a new school 10

More information

Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 (C#)

Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 (C#) Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 (C#) Course Number: 4994A Length: 3 Day(s) Certification Exam There are no exams associated with this

More information

A Hands-On Approach. IT Systems for the Contractor Foundation for Competitive Advantage

A Hands-On Approach. IT Systems for the Contractor Foundation for Competitive Advantage IT Systems for the Contractor Foundation for Competitive Advantage www.dbrownmanagement.com By: David Brown Date: September 2004 E=mcP2P Simply put this means that the faster an object moves the more energy

More information

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA Distributed CI: Scaling Jenkins on Mesos and Marathon Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA About Me Roger Ignazio QE Automation Engineer Puppet Labs, Inc. @rogerignazio Mesos In Action

More information

CS 251 Intermediate Programming Inheritance

CS 251 Intermediate Programming Inheritance CS 251 Intermediate Programming Inheritance Brooke Chenoweth University of New Mexico Spring 2018 Inheritance We don t inherit the earth from our parents, We only borrow it from our children. What is inheritance?

More information

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009 Mix It Up: Visual Studio 2010 and ASP.NET 4.0 Singapore 25 March 2009 Mar Mix-It-Up: Visual Studio 2010 and ASP.NET 4.0 Mix 01: Future of Web Development with Visual Studio 2010 and ASP.NET 4.0 by Maung

More information

Using Scala for building DSL s

Using Scala for building DSL s Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain

More information

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and

More information

Suggestions for writing Abstract Test Suites (ATS) for INSPIRE conformance testing for Metadata and Network Services

Suggestions for writing Abstract Test Suites (ATS) for INSPIRE conformance testing for Metadata and Network Services Suggestions for writing Abstract Test Suites (ATS) for INSPIRE conformance testing for Metadata and Network Services MIWP-5 Workshop 02. December 2014 Sven Böhme, Federal Agency for Cartography and Geodesy

More information

--Microsoft-- --Windows Phone--

--Microsoft-- --Windows Phone-- --Microsoft-- --Windows Phone-- Microsoft Windows Phone Course 10553A: Fundamentals of XAML and Microsoft Expression Blend Course Outline Module 1: Binding in XAML This module familiarizes the students

More information

The process of interaction design and Prototyping

The process of interaction design and Prototyping Chapter 6 edited The process of interaction design and Prototyping 1 Overview What is involved in Interaction Design? Importance of involving users Degrees of user involvement What is a user-centered approach?

More information

Webnodes Developers Quick Guide

Webnodes Developers Quick Guide Webnodes Webnodes Developers Quick Guide Want to get started right away? Ole Gulbrandsen 1/1/2010 Webnodes Developers Quick Guide Want to get started right away? This guide is for C# developers and will

More information

The dangerous Beauty of Bookmark Lookups

The dangerous Beauty of Bookmark Lookups The dangerous Beauty of Bookmark Lookups Klaus Aschenbrenner Microsoft Certified Master SQL Server 2008 Twitter: @Aschenbrenner About me CEO & Founder SQLpassion International Speaker, Blogger, Author

More information

Creating Web Mapping Applications. Nikki Golding

Creating Web Mapping Applications. Nikki Golding Creating Web Mapping Applications Nikki Golding Agenda Web Mapping and Map Services Fundamentals ArcGIS Web Mapping Applications - ArcGIS.com Viewer - ArcGIS Explorer Online - ArcGIS Viewer for Flex -

More information

Behavioral patterns. Command Iterator Observer Strategy Template method

Behavioral patterns. Command Iterator Observer Strategy Template method Designpatterns Behavioral patterns Command Iterator Observer Strategy Template method Command Invoker: asks the command to carry out the request @CommandPattern.Invoker Command: defines an interface for

More information

To get started with Visual Basic 2005, I recommend that you jump right in

To get started with Visual Basic 2005, I recommend that you jump right in In This Chapter Chapter 1 Wading into Visual Basic Seeing where VB fits in with.net Writing your first Visual Basic 2005 program Exploiting the newfound power of VB To get started with Visual Basic 2005,

More information

Canvas. Walter Goodwater, Software Development Manager

Canvas. Walter Goodwater, Software Development Manager Canvas Walter Goodwater, Software Development Manager Agenda Studio survey results Canvas design goals Demo Canvas roadmap Beta program 2015 Weatherford. All rights reserved. Studio Survey Results State

More information

Enabling Web 2.0 User Experience for E-Business Suite. Padmaprabodh Ambale, Gustavo Jimenez Development Managers, Applications Technology Group

Enabling Web 2.0 User Experience for E-Business Suite. Padmaprabodh Ambale, Gustavo Jimenez Development Managers, Applications Technology Group Enabling Web 2.0 User Experience for E-Business Suite Padmaprabodh Ambale, Gustavo Jimenez Development Managers, Applications Technology Group The following is intended to outline our general product direction.

More information

EBS goes social - The Triumvirate Liferay, Application Express and EBS

EBS goes social - The Triumvirate Liferay, Application Express and EBS EBS goes social - The Triumvirate Liferay, Application Express and EBS Michael Pergande, PROMATIS software GmbH DOAG 2011 Applications, Berlin, May 3rd, 2011 1 Agenda Introduction Motivation, Scenarios

More information

Efficient Test Automation on an Agile Project

Efficient Test Automation on an Agile Project Efficient Test Automation on an Agile Project Presentation for UCAAT, October 2013 Lukasz Grabinski & Jackie McDougall T A L E N T E D T O G E T H E R Unissons nos Talents 1 Agenda 3 The Client & the Project

More information

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM FlexJS OmPrakash Muppirala @bigosmallm bigosmallm@apache.org Apache Flex PMC Member Advisory Software Engineer, IBM Who am I? Advisory Software Engineer at IBM Apache Flex Committer and PMC Member UI Architect

More information

Effective Team Collaboration with Simulink

Effective Team Collaboration with Simulink Effective Team Collaboration with Simulink A MathWorks Master Class: 15:45 16:45 Gavin Walker, Development Manager, Simulink Model Management 2012 The MathWorks, Inc. 1 Overview Focus: New features of

More information

Introduction to Microsoft.NET Framework Programming using VS 2005 (C#)

Introduction to Microsoft.NET Framework Programming using VS 2005 (C#) Introduction to Microsoft.NET Framework Programming using VS 2005 (C#) Course Length: 5 Days Course Overview This instructor-led course teaches introductory-level developers who are not familiar with the

More information

New Face of z/os Communications Server: V2R1 Configuration Assistant

New Face of z/os Communications Server: V2R1 Configuration Assistant New Face of z/os Communications Server: V2R1 Configuration Assistant Kim Bailey (ktekavec@us.ibm.com) IBM August 14, 2013 Session # 13630 Agenda What is the Configuration Assistant and how can it help

More information

Basic Principles of OO. Example: Ice/Water Dispenser. Systems Thinking. Interfaces: Describing Behavior. People's Roles wrt Systems

Basic Principles of OO. Example: Ice/Water Dispenser. Systems Thinking. Interfaces: Describing Behavior. People's Roles wrt Systems Basics of OO Programming with Java/C# Basic Principles of OO Abstraction Encapsulation Modularity Breaking up something into smaller, more manageable pieces Hierarchy Refining through levels of abstraction

More information

Advance Dotnet ( 2 Month )

Advance Dotnet ( 2 Month ) Advance Dotnet ( 2 Month ) Course Content Introduction WCF Using.Net 4.0 Service Oriented Architecture Three Basic Layers First Principle Communication and Integration Integration Styles Legacy Applications

More information

S A M P L E C H A P T E R

S A M P L E C H A P T E R SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 5 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your

More information

IBM Lotus Quickr Customization

IBM Lotus Quickr Customization IBM Software Group IBM Lotus Quickr Customization Making a place your own An IBM Proof of Technology 2008 IBM Corporation Agenda TechWorks What is Lotus Quickr Customization? Lotus Quickr Architecture

More information

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google GWT: The Technical Advantage Presenter: Anirudh Dewani Company Name: Google What is GWT? 2 How it works Google Web Toolkit Weekly Report 09/01/2008-09/08/200 Code against Java UI libraries 3 How it works

More information

Is SharePoint the. Andrew Chapman

Is SharePoint the. Andrew Chapman Is SharePoint the Andrew Chapman Records management (RM) professionals have been challenged to manage electronic data for some time. Their efforts have tended to focus on unstructured data, such as documents,

More information

AD105 Introduction to Application Development for the IBM Workplace Managed Client

AD105 Introduction to Application Development for the IBM Workplace Managed Client AD105 Introduction to Application Development for the IBM Workplace Managed Client Rama Annavajhala, IBM Workplace Software, IBM Software Group Sesha Baratham, IBM Workplace Software, IBM Software Group

More information

1B1b Inheritance. Inheritance. Agenda. Subclass and Superclass. Superclass. Generalisation & Specialisation. Shapes and Squares. 1B1b Lecture Slides

1B1b Inheritance. Inheritance. Agenda. Subclass and Superclass. Superclass. Generalisation & Specialisation. Shapes and Squares. 1B1b Lecture Slides 1B1b Inheritance Agenda Introduction to inheritance. How Java supports inheritance. Inheritance is a key feature of object-oriented oriented programming. 1 2 Inheritance Models the kind-of or specialisation-of

More information

CSC207 Week 4. Larry Zhang

CSC207 Week 4. Larry Zhang CSC207 Week 4 Larry Zhang 1 Logistics A1 Part 1, read Arnold s emails. Follow the submission schedule. Read the Q&A session in the handout. Ask questions on the discussion board. Submit on time! Don t

More information

CS/ISE 5714 Spring 2013

CS/ISE 5714 Spring 2013 CS/ISE 5714 Spring 2013 Chapter 11. Prototyping Chapter 10. UX Goals, Metrics, Targets Introduction A way to evaluate design before it s too late and too expensive Copyright MKP. All rights reserved. 2

More information

10/9/2012. Sample C# program:

10/9/2012. Sample C# program: Creating and Running Your First C# Program Text Book : C# Programming From Problem Analysis to Program design, Barbara Doyle Grading : Homeworks 20% Lecture Presentation 20% Final : % 20 Project : 40%

More information

Synthesys.NET Architecture Overview

Synthesys.NET Architecture Overview Architecture Overview Introduction what is? is a complete web based Call Centre solution. It contains CTI (Computer Telephone Integration), CRM and Webflow capabilities, as well as extensive capabilities

More information

Accessible, Usable, Electronic Forms Solutions in 30 Minutes

Accessible, Usable, Electronic Forms Solutions in 30 Minutes Introduction Welcome! Agenda: Introduction Defining your forms requirements Platforms overview Platforms in detail (advantages and considerations) Summary, Q&A Introduction Eliquo: Who are we? Training

More information

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

More information

1B1b Classes in Java Part I

1B1b Classes in Java Part I 1B1b Classes in Java Part I Agenda Defining simple classes. Instance variables and methods. Objects. Object references. 1 2 Reading You should be reading: Part I chapters 6,9,10 And browsing: Part IV chapter

More information

Getting Started with

Getting Started with Getting Started with Meganadha Reddy K. Technical Trainer NetCom Learning www.netcomlearning.com Agenda How websites work Introduction to JavaScript JavaScript Frameworks Getting Started : Angular JS Q&A

More information

SCAP Security Guide Questions / Answers. Contributor WorkShop Volume #2

SCAP Security Guide Questions / Answers. Contributor WorkShop Volume #2 SCAP Security Guide Questions / Answers Contributor WorkShop Volume #2 Ján Lieskovský January 2016 Agenda Introductory Notes Source Code / Repository Notes (Moved to Appendix for self-study) SCAP Security

More information

GUI Design Principles

GUI Design Principles GUI Design Principles User Interfaces Are Hard to Design You are not the user Most software engineering is about communicating with other programmers UI is about communicating with users The user is always

More information

Build CA Plex Web/Mobile App

Build CA Plex Web/Mobile App Build CA Plex Web/Mobile App Mobile Application Workshop Create two mobile applications Offline with CM WebClient HSync Online with CM WebClient Mobile Workshop files available on USB Flash if not downloaded

More information

SCAP Security Guide Questions / Answers. Ján Lieskovský Contributor WorkShop November 2015

SCAP Security Guide Questions / Answers. Ján Lieskovský Contributor WorkShop November 2015 SCAP Security Guide Questions / Answers Ján Lieskovský Contributor WorkShop November 2015 Agenda Introductory Notes SSG Repository Structure Contributing To SSG Developer Workflow Introductory Notes SCAP

More information

SIPROTEC 5 Application Note

SIPROTEC 5 Application Note www.siemens.com/protection SIPROTEC 5 Application Note SIP5-APN-020: Answers for infrastructure and cities. SIPROTEC 5 - Application: Content 1 Application: 3 1.1 Summary 3 1.2 General 3 1.3 Download PICS

More information

DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI

DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI Page 1 Page 2 jquery ajax jquery api documentation jquery ajax jquery api pdf jquery ajax jquery api documentation In jquery

More information

Object-Oriented Programming in Objective-C

Object-Oriented Programming in Objective-C In order to build the powerful, complex, and attractive apps that people want today, you need more complex tools than a keyboard and an empty file. In this section, you visit some of the concepts behind

More information

ListManager. ListManager Basic Training

ListManager. ListManager Basic Training ListManager ListManager Basic Training Presented by Ana DeLeón Logistics Before We Begin Shared audio State your name when asking questions s Introduction Please share: Your name Your experience with ListManager

More information

Agent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1

Agent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1 Searching: Intro CPSC 322 Search 1 Textbook 3.0 3.3 Searching: Intro CPSC 322 Search 1, Slide 1 Lecture Overview 1 Agent Design 2 Example Problems 3 State Spaces Searching: Intro CPSC 322 Search 1, Slide

More information

5HSUHVHQWLQJEORFNGLDJUDPVZLWK;PO DQDSSOLFDWLRQIRUSURGXFWLRQIORZVSHFLILFDWLRQLQ:RUNIORZDUHD

5HSUHVHQWLQJEORFNGLDJUDPVZLWK;PO DQDSSOLFDWLRQIRUSURGXFWLRQIORZVSHFLILFDWLRQLQ:RUNIORZDUHD 5HSUHVHQWLQJEORFNGLDJUDPVZLWK;PO DQDSSOLFDWLRQIRUSURGXFWLRQIORZVSHFLILFDWLRQLQ:RUNIORZDUHD V. CARCHIOLO, A. LONGHEU, M. MALGERI Dipartimento di Ingegneria Informatica e delle Telecomunicazioni - Università

More information

Authoring Tool of Sharable Question Items Based on QTI Specification for E-learning Assessment

Authoring Tool of Sharable Question Items Based on QTI Specification for E-learning Assessment 2017 Asia-Pacific Engineering and Technology Conference (APETC 2017) ISBN: 978-1-60595-443-1 Authoring Tool of Sharable Question Items Based on QTI Specification for E-learning Assessment Tien-Wen Sung,

More information

User Centered Design Process. Prototyping II. What is a prototype? Prototyping phases Oct 11, 2017

User Centered Design Process. Prototyping II. What is a prototype? Prototyping phases Oct 11, 2017 User Centered Design Process Prototyping II Oct 11, 2017 Produce something tangible Identify challenges Uncover subtleties 2 What is a prototype? A prototype is defined less by form, and more by its function:

More information

Oracle Developer Day

Oracle Developer Day Oracle Developer Day Sponsored by: Session5 Focusing on the UI Speaker Speaker Title Page 1 1 Agenda Building the User Interface UI Development Page Flow A Focus on Faces Introducing Java Server Faces

More information

ITP 342 Mobile App Dev. Interface Builder in Xcode

ITP 342 Mobile App Dev. Interface Builder in Xcode ITP 342 Mobile App Dev Interface Builder in Xcode New Project From the Main Menu, select the File à New à Project option For the template, make sure Application is selected under ios on the left-hand side

More information

Using Code Templates in DDE by Julian Robichaux, panagenda originally published on socialbizug.org, July 2013

Using Code Templates in DDE by Julian Robichaux, panagenda originally published on socialbizug.org, July 2013 Using Code Templates in DDE by Julian Robichaux, panagenda originally published on socialbizug.org, July 2013 One of the freebies that came with integrating Domino Designer with the Eclipse platform (DDE)

More information

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES Presenter: Joshua Eastman Director, Strategic Solutions ABOUT THE SPEAKER Josh has over seven years of experience as an accomplished software testing

More information

SHAREPOINT 2013 DEVELOPMENT

SHAREPOINT 2013 DEVELOPMENT SHAREPOINT 2013 DEVELOPMENT Audience Profile: This course is for those people who have couple of years of development experience on ASP.NET with C#. Career Path: After completing this course you will be

More information

Introduction to Mobile Development

Introduction to Mobile Development Introduction to Mobile Development Building mobile applications can be as easy as opening up the IDE, throwing something together, doing a quick bit of testing, and submitting to an App Store all done

More information

Agenda: Discussion Week 7. May 11, 2009

Agenda: Discussion Week 7. May 11, 2009 Agenda: Discussion Week 7 Method signatures Static vs. instance compareto Exceptions Interfaces 2 D arrays Recursion varargs enum Suggestions? May 11, 2009 Method signatures [protection] [static] [return

More information

Jquery Documentation Autocomplete

Jquery Documentation Autocomplete Jquery Documentation Autocomplete 1 / 6 2 / 6 3 / 6 Jquery Documentation Autocomplete Theming. The autocomplete widget uses the jquery UI CSS framework to style its look and feel. If autocomplete specific

More information

Creating Templates For Letterheads, Fax Cover Sheets, and More

Creating Templates For Letterheads, Fax Cover Sheets, and More Creating Templates For Letterheads, Fax Cover Sheets, and More This document provides instructions for creating and using templates in Microsoft Word. Opening Comments A template is a type of document

More information

WHITE PAPER. Comparison Guide: Choosing Between Help Authoring Tools and CCMSs

WHITE PAPER. Comparison Guide: Choosing Between Help Authoring Tools and CCMSs WHITE PAPER Comparison Guide: Choosing Between Help Authoring Tools and CCMSs Introduction Introduction Every few years, the debate flares up over whether to use a HAT (help authoring tool) or a CMS (content

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...

More information

to the Enterprise Brussels - Tuesday 20th April 2004 Chris Greenslade Introducing Enterprise Architecture Introducing Enterprise Architecture

to the Enterprise Brussels - Tuesday 20th April 2004 Chris Greenslade Introducing Enterprise Architecture Introducing Enterprise Architecture Introducing Enterprise Architecture to the Enterprise Brussels - Tuesday 20th April 2004 Chris Greenslade Chris@.com 1 of 28 Approach Every situation is different The organization Its history and its current

More information

Streams in Java 8. Start programming in a more functional style

Streams in Java 8. Start programming in a more functional style Streams in Java 8 Start programming in a more functional style Background Who am I? Tobias Coetzee I m a Technical Lead at BBD I present the Java Expert Level Certifications at BBD (EJB, JPA, etc.) I m

More information

Albatross: Seaside Web Applications Scenario Testing Framework

Albatross: Seaside Web Applications Scenario Testing Framework Albatross: Seaside Web Applications Scenario Testing Framework Andrea Brühlmann, abrue@students.unibe.ch Supervised by: Adrian Lienhard Software Composition Group University of Bern, Switzerland September

More information

FolderView DMXzone.com Folder View 2 Manual

FolderView DMXzone.com Folder View 2 Manual Folder View 2 Manual Copyright 2009 All Rights Reserved To get more go to Page 1 of 39 Index Folder View 2 Manual... 1 Index... 2 About FolderView... 3 Features in Detail... 4 Before you begin... 10 Installing

More information

Understanding Oracle ADF and its role in the Oracle Fusion Platform

Understanding Oracle ADF and its role in the Oracle Fusion Platform ORACLE PRODUCT LOGO Understanding Oracle ADF and its role in the Oracle Fusion Platform Dana Singleterry blogs.oracle.com/dana 2 Copyright Principal 2011, Oracle and/or its Product affiliates. All rights

More information

Introduction to Web Development with Microsoft Visual Studio 2010 (10267A)

Introduction to Web Development with Microsoft Visual Studio 2010 (10267A) Introduction to Web Development with Microsoft Visual Studio 2010 (10267A) Overview This five-day instructor-led course provides knowledge and skills on developing Web applications by using Microsoft Visual

More information