Model Driven Architecture
|
|
- Merry King
- 5 years ago
- Views:
Transcription
1 IBM Software Group Model Driven Architecture The first (and last) step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team
2 Model Driven Architecture Overview Four principles of MDA 3 : 1. Models expressed in a well-defined notation are key to understanding enterprise-scale systems 2. Transformations between models enable organization into a layered architectural framework 3. Metamodels facilitate meaningful integration and transformation, and are the basis for tooling 4. Standards provide openness to consumers and foster competition among vendors
3 OMG vision: Managing IT Complexity using Model Driven Architecture (MDA) TM An integration of best practices in Modeling, Middleware, Metadata, and Software Architecture Model Driven Platform Independent Models (PIM) Technology or (increasingly) Business Models Platform Specific Models (PSM) - J2EE,.Net, SQL Mappings : PIM<->PIM, PSM<->PSM, PIM<->PSM Applies across the software life cycle MDA is a framework, process and a set of standards Source: OMG Key Benefits Improved Productivity for Architects, Designers, Developers and Administrators Lower cost of Application Development and Management Enhanced Portability and Interoperability Business Models and Technologies evolve at their own pace on platform(s) of choice
4 Platform specific model UML Take a moment to assess this class diagram: 獺 ttpservlet Order Details Servlet 獷 JB Home Open Order Home 獷 JB Object Open Order + open ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( ) 獷 JB Session Bean Open Order Bean Customer - Open Order - Orders Order Key 0..1 Line Item - Items Order 獷 JB Entity Bean Order Bean 獷 JB Local Home Order Home 1 - Product Product + 獵 ustomer? getcustomer ( ) + 獵 ollection? getitems ( ) + 玈 tring? getstatus ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( )
5 Platform specific model UML Good: shows the classes you will need to build 獺 ttpservlet Order Details Servlet 獷 JB Home Open Order Home 獷 JB Object Open Order + open ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( ) 獷 JB Session Bean Open Order Bean Customer - Open Order - Orders Order Key 0..1 Line Item - Items Order 獷 JB Entity Bean Order Bean 獷 JB Local Home Order Home 1 - Product Product + 獵 ustomer? getcustomer ( ) + 獵 ollection? getitems ( ) + 玈 tring? getstatus ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( )
6 Platform specific model UML Good: implies use of best practices 獺 ttpservlet Order Details Servlet 獷 JB Home Open Order Home 獷 JB Object Open Order 獷 JB Session Bean Open Order Bean + open ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( ) Customer - Open Order - Orders Order Key 0..1 Line Item - Items Order 獷 JB Entity Bean Order Bean 獷 JB Local Home Order Home 1 - Product Product + 獵 ustomer? getcustomer ( ) + 獵 ollection? getitems ( ) + 玈 tring? getstatus ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( )
7 Platform specific model UML Bad: cannot tell the business purpose of this model 獺 ttpservlet Order Details Servlet 獷 JB Home Open Order Home 獷 JB Object Open Order + open ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( ) 獷 JB Session Bean Open Order Bean Customer - Open Order - Orders Order Key 0..1 Line Item - Items Order 獷 JB Entity Bean Order Bean 獷 JB Local Home Order Home 1 - Product Product + 獵 ustomer? getcustomer ( ) + 獵 ollection? getitems ( ) + 玈 tring? getstatus ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( )
8 Platform specific model UML Ugly: not enough information to implement methods 獺 ttpservlet Order Details Servlet 獷 JB Home Open Order Home 獷 JB Object Open Order + open ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( ) 獷 JB Session Bean Open Order Bean Customer - Open Order - Orders Order Key 0..1 Line Item - Items Order 獷 JB Entity Bean Order Bean 獷 JB Local Home Order Home 1 - Product Product + 獵 ustomer? getcustomer ( ) + 獵 ollection? getitems ( ) + 玈 tring? getstatus ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( )
9 Platform specific model UML Summary of my assessment: shows an end-to-end set of Java objects to build: 1 Servlet 1 Remote EJB Home, 1 EJB Remote Interface, 1 Session EJB 1 Local EJB Home, 1 Key, 1 Local EJB Interface, 1 Entity EJB implies use of some key best practices: separate the UI (Servlet) from the business logic (EJBs) use a session EJB as a façade in front of entity EJBs use CMRs with entity EJBs to enable container to optimize? no tie to the business process being implemented: the methods shown on the Open Order Bean (business logic) the doget() and dopost() methods on Order Details Servlet (UI) not enough information to code the business logic: how does the Order EJB get instantiated in the Session? under what conditions can the methods be invoked in the Entity?
10 Platform specific model Java code Take a moment to assess this code package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other methods will follow over time
11 Platform specific model Java code Good: this component is actually complete package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other methods will follow over time
12 Platform specific model Java code Good: dependencies are clearly shown package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other methods will follow over time
13 Platform specific model Java code Good: you can reverse engineer some of the process package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other methods will follow over time
14 Platform specific model Java code Bad: still don t know the business process context package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other methods will follow over time
15 Platform specific model Java code Ugly: forces use of a specific language and platform package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other methods will follow over time
16 Platform specific model Java code Summary of my assessment: this code is actually complete and follows best practices: order logic in a method to minimize resource utilizations use CMRs to enable container to optimize access defines other Java objects you need to build: 1 Local EJB Home, 1 Key, 1 Local EJB Interface can reverse engineer some of the business process: the Order Bean submit() method (with more to follow)? does not tell you the full business context: what is the process lifecycle being supported? what other methods are likely to get added over time? forces use of a specific platform, language and approach: Java/J2EE platform versus COBOL/CICS or VB/.NET it is OK to have logic in entity EJB versus all in a session EJB
17 Platform independent business model Example order lifecycle: open(customer):[customer has no open order] Customer assign(packer) Packer cancel() Open submit():[line items.has elements] add line item(product, quantity):[quantity.non zero] Cancelled Submitted pack item(inventory, quantity):[quantity.non zero && quantity.less or equal(inventory.on hand) && items(inventory.product).left] ship(shipper):[packed items.has elements && shipper specified] [> 0] [== 0] Completed line items.sum.left purge() Marketer
18 Platform independent business model Example pseudo code for add line item: status check of order not needed due to state in the lifecycle user id check of order customer is not needed due to owner of state product id check is not needed due to product reference being passed in quantity check for non zero not needed due to guard add line item (Product.ref product, Integer.val quantity) { Line Item.ref line item = line items.retrieve(product); if (line item exists) { Integer.val new quantity = line item.quantity + quantity; if (new quantity.less or equal(0)) line items.destroy(product); else line item.quantity = new quantity; else { line items.create(line Item.create(product, quantity));
19 Platform independent business model Example class diagram for objects needed in open state: only those required to support inputs, guards, actions, conditions and outputs of add Iine item(), submit(), and cancel() transitions assume that the open state in the order lifecycle has read only transitions that support access to any of this data for purposes of depth first design, assume that related objects support CRUD methods as needed (create, retrieve, update and destroy) Customer [Active] - open order 0..1 Order [Open] + name : String + «Key» id : Integer 1 + «Key» id : Integer + total : Integer = line items.sum.amount Product [Cataloged] + «Key» sku : Integer + description : String + price : Integer 1 -@product Line Item + quantity : Integer + amount : Integer = product.price quantity
20 Platform independent business model Example class diagram for open order submitted state: Customer [Active] + name : String + 獽 ey? id : Integer 1 Order [Submitted] + 獽 ey? id : Integer + total : Integer = line items.sum.amount 1.. Shipment + 獽 ey? id : Integer + tracking number : String 0..1 Shipper [Qualified] + name : String + 獽 ey? id : Integer Product [Cataloged] + 獽 ey? sku : Integer + description : String + price : Integer 1 1 Line Item + quantity : Integer [>0] + amount : Integer = product.price quantity + shipped : Integer = packed items.sum.quantity + left : Integer = quantity - shipped 1 Packed Item + quantity : Integer 1 Inventory + 獽 ey? aisle : String + 獽 ey? bin : Integer + on hand : Integer Packer [Active] + name : String + 獽 ey? id : Integer 0..1 Warehouse + 獽 ey? name : String Note the differences in cardinalities
21 Platform independent business model Example lifecycle model for a customer record: [not ok] Customer customer management [ok] {credit check /create (key) Registered activate(key) Active [last activity > 1 year] order management release Credit Hold Credit Manager reactivate Inactive Marketer Address Customer [Active] Credit Card + «String» street 1 + «String» street 2 + «String» city + «String» state + «String» postal 1..n + «Key» id + «String» name + «String» password + «String» challenge + «String» 1..n + «String» company + «String» number + «String» name on card + «Month-Year» expires + «String» comment - open order 0..1 Order
22 Building a solution using MDA step 1 Gather the high level requirements for the system Data stored on web farm with browser client open(customer):[customer has no open order] Customer Data stored on mainframe with fat client GUI assign(packer) Packer cancel() Open submit():[line items.has elements] add line item(product, quantity):[quantity.non zero] Cancelled Submitted pack item(inventory, quantity):[quantity.non zero && quantity.less or equal(inventory.on hand) && items(inventory.product).left] ship(shipper):[packed items.has elements && shipper specified] [> 0] [== 0] Completed Data stored offline with batch submit & browser read/print line items.sum.left purge() Marketer
23 Building a solution using MDA step 2a Synthesize the UI from Order and Web design models previous (customer, first):[!first] Customer Home next (customer, last):[!last] (customer) Product Catalog (customer) Order Management (customer) Order Status add line item (customer, product, qty):[qty!= 0]/{add item(customer, product, qty) (customer, order, product, qty) modify line item (customer, product, qty):[order.status='open' && qty >=0]/{customer.open order.lineitem( product).quantity = qty (customer, order, product, qty) (customer):[customer.openorder!= null] (customer, order):[order.customer=customer] add order (customer):[customer.open Order=null] cancel cancel:[customer.open Order.status='Open'] Order Details ok:/{create(customer) (customer, order) Confirm Add cancel cancel ok:/{submit(customer) Confirm Cancel ok:/{cancel(customer) submit:[customer.open Order.status='Open'] Confirm Submit
24 Building a solution using MDA step 2a Does this model completely specify the UI? previous (customer, first):[!first] Customer Home next (customer, last):[!last] (customer) Product Catalog (customer) Order Management (customer) Order Status add line item (customer, product, qty):[qty!= 0]/{add item(customer, product, qty) (customer, order, product, qty) modify line item (customer, product, qty):[order.status='open' && qty >=0]/{customer.open order.lineitem( product).quantity = qty (customer, order, product, qty) (customer):[customer.openorder!= null] (customer, order):[order.customer=customer] add order (customer):[customer.open Order=null] cancel cancel:[customer.open Order.status='Open'] Order Details ok:/{create(customer) (customer, order) Confirm Add cancel cancel ok:/{submit(customer) Confirm Cancel ok:/{cancel(customer) submit:[customer.open Order.status='Open'] Confirm Submit
25 Building a solution using MDA step 2b Specify the visible data for each state in the UI Customer Home Data + «int» id + «String» name + «int» order pending Product Catalog Data Order Management Data Order Status Data Product Data + «int» sku + «String» description + «int» price Order Details Data Detail Item Data + «int» product + «String» description + «int» quantity + «int» price + «int» amount Order Header Data + «int» id + «String» status + «int» total
26 Building a solution using MDA step 2b Where did this data come from? Customer Home Data + «int» id + «String» name + «int» order pending Product Catalog Data Order Management Data Order Status Data Product Data + «int» sku + «String» description + «int» price Order Details Data Detail Item Data + «int» product + «String» description + «int» quantity + «int» price + «int» amount Order Header Data + «int» id + «String» status + «int» total
27 Building a solution using MDA step 2b Visible data ultimately derives from the business objects Customer [Active] - open order 0..1 Order [Open] + name : String + «Key» id : Integer 1 + «Key» id : Integer + total : Integer = line items.sum.amount Product [Cataloged] + «Key» sku : Integer + description : String + price : Integer 1 -@product Line Item + quantity : Integer + amount : Integer = product.price quantity
28 Building a solution using MDA step 3a Synthesize Order-Web and J2EE design models 獺 ttpservlet Order Details Servlet 獷 JB Home Open Order Home 獷 JB Object Open Order 獷 JB Session Bean Open Order Bean + open ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( ) Customer - Open Order - Orders Order Key 0..1 Line Item - Items Order 獷 JB Entity Bean Order Bean 獷 JB Local Home Order Home 1 - Product Product + 獵 ustomer? getcustomer ( ) + 獵 ollection? getitems ( ) + 玈 tring? getstatus ( ) + submit ( ) + cancel ( ) + add line item ( ) + modify line item ( )
29 Building a solution using MDA step 3b Transform J2EE-Order-Web design model into code package com.mycompany.onlinemall.business.objects; public class OrderBean extends javax.ejb.entitybean { public abstract Customer getcustomer(); public abstract void setcustomer(customer value); public abstract Collection getitems(); public abstract void setitems(collection value); public abstract String getstatus(); public abstract void setstatus(string value); public void submit() throws OrderNotOpen, UserNotCustomer, NoLineItems { String userid = myentityctx.getcalleridentity().getname(); if (!getstatus.equals(order_status_open)) throw new OrderNotOpen(getPrimaryKey()); if (!getcustomer().getuserid().equals(userid)) throw new UserNotCustomer(user, getprimarykey()); if (getitems().getsize() == 0) throw new NoLineItems(getPrimaryKey()); setstatus(order_status_submitted); // Other method code follows
30 How does Model Driven Architecture help? A Rational Unified Process view: Phase Inception Elaboration Construction Role Pre MDA Artifact After MDA Architect Analyst Developer Deployer Candidate architecture Requirements specifications Executable application Transition Production application Transformations Model Schemas Templates Exemplars Building transforms should become an essential part of the end-to-end process
31 How does Model Driven Architecture help? Over time, the amount of manual coding decreases % 0 SRV JSP CT EJB MDB WS % Manual coding required WBI BPC RSA # Transforms developed
32 Questions?
Services Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
More informationIBM WebSphere Application Server. J2EE Programming Model Best Practices
IBM WebSphere Application Server J2EE Programming Model Best Practices Requirements Matrix There are four elements of the system requirements: business process and application flow dynamic and static aspects
More informationModel Driven Architecture
Model Driven Architecture Vision VS Reality EDOC 2001 September 4-7, Seattle, USA Sridhar Iyengar Unisys Fellow Member, OMG Architecture Board sridhar.iyengar2@unisys.com Slide 1 Model Driven Architecture
More informationindex_ qxd 7/18/02 11:48 AM Page 259 Index
index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the
More informationinnoq 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 informationOracle 10g: Build J2EE Applications
Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments
More informationAnalysis, Modeling, and Design (AMD) Tools Software Market Strategies, Market Opportunities, and Market Forecasts, 2001 to 2006
Analysis, Modeling, and Design (AMD) Tools Software Market Strategies, Market Opportunities, and Market Forecasts, 2001 to 2006 Table of Contents ANALYSIS, MODELING, AND DESIGN (AMD) TOOLS SOFTWARE MARKET
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
More informationIndex. Add Diagram > Sequence Diagram command,
Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered
More informationIBM Rational Software Architect
Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for
More informationCERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY
SUN CERTIFICATION CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY TABLE OF CONTENTS Introduction..............................................
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationAll you need are models Anneke Kleppe, Klasse Objecten
Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in
More informationFEASIBILITY of the MDA APPROACH in UCE projects
ONTOLOGIES BASED COMMUNICATIONS through MODEL DRIVEN TOOLS : FEASIBILITY of the MDA APPROACH in UCE projects A.F. Cutting-Decelle Industrial Engineering Research Lab, Ecole Centrale Paris, Chatenay Malabry,,
More informationDRAFT ARCHITECTURE DOCUMENT PROTEOMICS LABORATORY INFORMATION MANAGEMENT SYSTEM DOCUMENT NUMBER: V1.4 BY OLGA TCHUVATKINA - BIOINFORMATICS
PROTEOMICS LABORATORY INFORMATION MANAGEMENT SYSTEM BY OLGA TCHUVATKINA - BIOINFORMATICS THE FOX CHASE CANCER CENTER ARCHITECTURE DOCUMENT DRAFT DOCUMENT NUMBER: V1.4 CREATED: 10/19/2004 LAST UPDATED:
More informationIntegrating Legacy Assets Using J2EE Web Services
Integrating Legacy Assets Using J2EE Web Services Jonathan Maron Oracle Corporation Page Agenda SOA-based Enterprise Integration J2EE Integration Scenarios J2CA and Web Services Service Enabling Legacy
More informationChapter 6 Enterprise Java Beans
Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used
More informationModel Driven Architecture
Name: Anish Mehta Year: 3 Lecturer: Dr. Wolfgang Emmerich Supervisor: Dr. Graham Roberts Model Driven Architecture For many years architects have been designing buildings by looking at other architects
More informationEnterprise Java Beans
Enterprise Java Beans Taking IT easy with Middleware Premkumar Devanbu, Center for Software Systems Research Dept. of Computer Science, University of California, Davis, CA, USA. Outline Introduction, Motivation
More informationCBDIReport. Service Oriented Architecture and OptimalJ. 1 Introduction. 2 Service Oriented Architecture. 3 The Business Services Bus
CBDIReport Service Oriented Architecture and OptimalJ Web Services has been the subject of much discussion, industry hype and promotion by the software industry and analysts. CBDI has promoted not only
More informationBizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems
Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems Doi:10.5901/ajis.2014.v3n6p475 Abstract Oskeol Gjoni PHD Student at European
More informationRational Application Developer 7 Bootcamp
Rational Application Developer 7 Bootcamp Length: 1 week Description: This course is an intensive weeklong course on developing Java and J2EE applications using Rational Application Developer. It covers
More informationObject-Oriented Analysis and Design Using UML (OO-226)
Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,
More informationUNIT-III EJB APPLICATIONS
UNIT-III EJB APPLICATIONS CONTENTS EJB Session Beans EJB entity beans EJB clients EJB Deployment Building an application with EJB. EJB Types Types of Enterprise Beans Session beans: Also called business
More informationEnterprise Java and Rational Rose - Part II
Enterprise Java and Rational Rose - Part II by Khawar Ahmed Technical Marketing Engineer Rational Software Loïc Julien Software Engineer Rational Software This is the second installment of a twopart series
More informationUML Views of a System
UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary
More informationMDA for the Enterprise
MDA for the Enterprise Enterprise Collaboration Architecture Applying Model Driven Architecture to enterprise requirements using the OMG Enterprise Collaboration Architecture Introductions Cory Casanave
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationEJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java
EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution
More informationBorland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.
Borland Application Server Certification Study Guide Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved. Introduction This study guide is designed to walk you through requisite
More informationWeb Application Development Using JEE, Enterprise JavaBeans and JPA
Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.
More informationQoS-aware model-driven SOA using SoaML
QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira
More information* Corresponding Author
A Model Driven Architecture for REA based systems Signe Ellegaard Borch, Jacob Winther Jespersen, Jesper Linvald, Kasper Østerbye* IT University of Copenhagen, Denmark * Corresponding Author (kasper@it-c.dk)
More informationPractical Model-Driven Development with the IBM Software Development Platform
IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges
More informationAgile Software Development with Pragmatic MDA
CompuwareCorporation Agile Software Development with Pragmatic MDA Jon Kern Agile MDA Evangelist Jon.Kern@compuware.com http://blogs.compuware.com/cs/blogs/jkern/ http://javacentral.compuware.com/members/straight-talk/
More informationOverview: Siebel Enterprise Application Integration. Version 8.0 December 2006
Overview: Siebel Enterprise Application Integration Version 8.0 December 2006 Copyright 2005, 2006, Oracle. All rights reserved. The Programs (which include both the software and documentation) contain
More informationPrototype 1.0 Specification
Prototype 1.0 Specification Javier Ramos Rodríguez Use Case View The prototype 1.0 will implement some basic functionality of the system to check if the technology used is the appropriate one to implement
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationEnterprise JavaBeans, Version 3 (EJB3) Programming
Enterprise JavaBeans, Version 3 (EJB3) Programming Description Audience This course teaches developers how to write Java Enterprise Edition (JEE) applications that use Enterprise JavaBeans, version 3.
More informationThe Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.
The Model Driven (R)evolution Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc. Modeling Changes Everything! Throw out those pesky objects! Toss away your silly compilers! No more
More informationSession E118011: Best practices for developing WebSphere based applications
Session E118011: Best practices for developing Sphere based applications Geoff Hambrick Executive Consultant IBM Sphere Enablement Team August 14-17, 2000 Sphere best practices The challenges, part 1 Want
More informationQualitative ROI for MDA Projects. Ken Sayers - Chubb and Son, Inc. OMG UML Workshop San Francisco, CA October 21-24, 2002
Qualitative ROI for MDA Projects Ken Sayers - Chubb and Son, Inc. OMG UML Workshop San Francisco, CA October 21-24, 2002 Introduction We started doing MDA before the term MDA was coined We wanted to generate
More informationIntermatic, Inc. Partner Portal User Guide
Intermatic, Inc. Partner Portal User Guide Index Introduction.......................... 2 Requesting Access.................... 3 Updating Profile....................... 8 Order Status.........................
More informationModel Driven Architecture - The Vision
Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support
More informationBuilding JavaServer Faces Applications
IBM Software Group St. Louis Java User Group Tim Saunders ITS Rational Software tim.saunders@us.ibm.com 2005 IBM Corporation Agenda JSF Vision JSF Overview IBM Rational Application Developer v6.0 Build
More informationOracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)
Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how
More informationMDA. SOA = Model Driven SOA
Introducing Model Driven SOA MDA + SOA = Model Driven SOA SoaML an Emerging Standard for SOA Modeling Dr. Darius Silingas Principal Trainer/Consultant darius.silingas@nomagic.com Introduction Who Am I?
More informationJ2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies
J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:
More informationComponent-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)
Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 26 Java Enterprise (Part D) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo J2EE Application
More informationDEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect
DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner Xiao-Yun WANG PowerDesigner Chief Architect xwang@sybase.com OBJECTIVES 1. Understand what s Model-Driven Development 2. Understand why Model-Driven
More informationThe Write Once, Deploy N MDA Case Study
Pieter Van Gorp, The Write Once, Deploy N MDA Case Study Belgisch-Nederlandse Evolution Workshop July 8-9, 2004 @ University of Antwerp The Write Once, Deploy N MDA Case Study Pieter Van Gorp, Dirk Janssens
More informationJava Enterprise Edition
Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data
More information(p t y) lt d. 1995/04149/07. Course List 2018
JAVA Java Programming Java is one of the most popular programming languages in the world, and is used by thousands of companies. This course will teach you the fundamentals of the Java language, so that
More informationEnterprise JavaBeans. Layer:01. Overview
Enterprise JavaBeans Layer:01 Overview Agenda Course introduction & overview. Hardware & software configuration. Evolution of enterprise technology. J2EE framework & components. EJB framework & components.
More informationTools to Develop New Linux Applications
Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester
More informationComparative analysis of MDA tools
STUDIA INFORMATICA Nr 1-2(16) Systems and information technology 2012 Comparative analysis of MDA tools Krzysztof Pietraszek 1 1 Institute of Computer Science, University of Natural Sciences and Humanities,
More informationCO Java EE 7: Back-End Server Application Development
CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional
More informationUsing JNDI from J2EE components
Using JNDI from J2EE components Stand-alone Java program have to specify the location of the naming server when using JNDI private static InitialContext createinitialcontext() throws NamingException {
More informationIntroduction to componentbased software development
Introduction to componentbased software development Nick Duan 8/31/09 1 Overview What is a component? A brief history of component software What constitute the component technology? Components/Containers/Platforms
More informationHow to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect
How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationWeb Application Development Using JEE, Enterprise JavaBeans and JPA
Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.
More informationType of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes
Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple
More informationIBM. Application Development with IBM Rational Application Developer for Web Sphere
IBM 000-257 Application Development with IBM Rational Application Developer for Web Sphere Download Full Version : https://killexams.com/pass4sure/exam-detail/000-257 A. Add a new custom finder method.
More informationDomain-Frontier approach to. MDA based. software development
Domain-Frontier approach to MDA based software development Contents! Software Development Yesterday, Today and Tomorrow! Domain-Frontier Paradigms and Cornerstones! Domain-Frontier Development Process
More informationIBM Rational Software Development Conference IBM Rational Software. Presentation Agenda. Development Conference
IBM Rational Software Development Conference 2008 UML to EGL without writing code and deploy as Java or COBOL Reginaldo Barosa Executive IT Specialist, TechWorks Americas rbarosa@us.ibm.com Session 20036
More information1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master
Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding
More informationSoftware Engineering G
Software Engineering G22.2440-001 8 Sub-Topic 2 Middleware J2EE Reference Architecture Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences
More informationINTRODUCTION TO SERVLETS AND WEB CONTAINERS. Actions in Accord with All the Laws of Nature
INTRODUCTION TO SERVLETS AND WEB CONTAINERS Actions in Accord with All the Laws of Nature Web server vs web container Most commercial web applications use Apache proven architecture and free license. Tomcat
More informationCOURSE 9 DESIGN PATTERNS
COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model
More informationDeveloping in OMG s Model-Driven Architecture
Developing in OMG s Model-Driven Architecture Jon Siegel and the OMG Staff Strategy Group Object Management Group White Paper November, 2001 Revision 2.6 In an accompanying white paper 1, the Object Management
More informationDeveloping Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation
Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation By the Sun Educational Services Java Technology Team January, 2001 Copyright
More informationImplementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.
Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services
More informationSRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A
SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects
More informationModelling in Enterprise Architecture. MSc Business Information Systems
Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling
More informationExam Questions 1Z0-895
Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale
More informationThe ATCP Modeling Framework
The ATCP 2+9+1 Modeling Framework Bobbi Underbakke Adaptive Team Collaboration, Inc. 800.837.0677 atcprocess.com Adaptive Team Collaboration, Inc. March 22, 2005 Chris Armstrong Armstrong Process Group,
More informationPROJECT DOCUMENTATION WITH ENTERPRISE ARCHITECT
PROJECT DOCUMENTATION WITH ENTERPRISE ARCHITECT How to organize project documentation with Enterprise Architect. By Amir Firdus (www.firdus.com) March 2010 Overview It is not an easy step to go from reading
More informationCMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition
CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components
More informationSUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :
SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific
More informationWhat we need. Agenda. What s J2EE. Challenges of Enterprise Application Development
Agenda.NET versus J2EE Felicia cheng Jarred zheng Jonathan Card Peng Li iao he Background Introduction J2EE Structure.NET Structure J2EE vs..net Conclusions Today s Enterprise Environment Challenges of
More information1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions
1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...
More informationIntroduction to WebSphere Development Studio for i5/os
Introduction to WebSphere Development Studio for i5/os Alison Butterill butteril@ca.ibm.com i want stress-free IT. i want control. Simplify IT Table of Contents 1. Background 2. Rational Development Tools
More informationWeb Design and Applications
Web Design and Applications JEE, Message-Driven Beans Gheorghe Aurel Pacurar JEE, Message-Driven Beans Java Message Service - JMS Server JMS is a standard Java API that allows applications to create, send,
More information3rd Lecture Languages for information modeling
3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture
More informationOracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.
Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test
More informationModel driven Engineering & Model driven Architecture
Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationApplication Servers in E-Commerce Applications
Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand
More informationEnterprise JavaBeans (I) K.P. Chow University of Hong Kong
Enterprise JavaBeans (I) K.P. Chow University of Hong Kong JavaBeans Components are self contained, reusable software units that can be visually composed into composite components using visual builder
More informationOliopäivät Modelling Now and in the Future, with Acronyms or without = RSA
IBM Software Group Oliopäivät 28-29.11.2006 Modelling Now and in the Future, with Acronyms or without = RSA rami.talme@fi.ibm.com 2006 IBM Corporation IBM Software Group Rational software The business-driven
More informationModel Driven Architecture and Rhapsody
Model Driven Architecture and Rhapsody Dr. Bruce Powel Douglass Chief Evangelist Telelogic Model Driven Architecture and Rhapsody Abstract MDA, short for Model Driven Architecture, is a unification by
More informationMDA for Enterprise Collaboration & Integration
MDA for Enterprise Collaboration & Integration Enterprise Collaboration Architecture Cory Casanave cory-c@enterprise-component.com What is the Enterprise Collaboration Architecture? ECA is a profile of
More informationActive Endpoints. ActiveVOS Platform Architecture Active Endpoints
Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use
More informationCall: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline
JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationDistributed Multitiered Application
Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm
More informationArchitect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.
ORACLG Oracle Press OCM Java@ EE 6 Enterprise Architect Exam Guide (Exams IZO-807,1ZO-865 & IZO-866) Paul R* Allen and Joseph J. Bambara McGraw-Hill Education is an independent entity from Oracle Corporation
More information