1 Modeling Server-side Components with UML Junichi Suzuki, Ph.D. School of Information and Computer Science University.

Slides:



Advertisements
Similar presentations
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
A Road Map of the New Project on “Framework for Registering Business Objects” Hajime Horiuchi ISO/IEC JTC1 SC32 Japan, Tokyo International University SC32WG2-SEL-009.
OMG‘s MDA: An Overview copyright © 2001, MATHEMA AG OMG‘s MDA: An Overview OMG‘s MDA: An Overview Markus Völter
1 CS 483 Enterprise and Web Application Programming Week 4 Deploying Enterprise JavaBeans.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
SEI/CBS Initiative Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1999.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
1 Driving MDA with UML: Principles and Practices Junichi Suzuki, Ph.D. School of Information and Computer Science.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Väliohjelmistot - Lea Kutvonen 1 MDA Model driven architecture.
UML - Development Process 1 Software Development Process Using UML (2)
EJB Fundamentals Celsina Bignoli
EJB. Component Characteristics An enterprise Bean typically contains business logic that operates on the enterprise’s data. An enterprise Bean’s instances.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
J2EE Part 2: Enterprise JavaBeans CSCI 4300 Images and code samples from jGuru EJB tutorial,
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Presented By Pradeep K Sahu. What will be the Contents of the Seminar ? What is EJB ? EJB Architecture Types of EJB Session Entity Why EJB ? Writing a.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Enterprise Java Bean Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
第十四章 J2EE 入门 Introduction What is J2EE ?
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Enterprise JavaBeans Understanding EJB Components Version 0.1 Kamal Wickramanayake
© jGuru.com Enterprise JavaBeans Fundamentals.
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
SPE-RFI-R : FEB.1999 : NUL-ITD-Iwata 2-01 Needs for Software Development Model Hiromichi Iwata Information Technologies.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Copyright © 2002 ProsoftTraining. All rights reserved. Enterprise JavaBeans.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Middleware Technology (J2EE/EJB) EJB Fundamentals.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
14 Copyright © 2004, Oracle. All rights reserved. Achieving State Management in the Business Tier.
Model Driven Architecture MDA SE-548 Lale Doğan
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Web Application Modeling
Krishnakumar Balasubramanian
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Tools for Composing and Deploying Grid Middleware Web Services
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Analysis models and design models
Constructing MDA-based Application Using Rational XDE for .NET
Software Development Process Using UML Recap
Presentation transcript:

1 Modeling Server-side Components with UML Junichi Suzuki, Ph.D. School of Information and Computer Science University of California, Irvine

2 Who am I? Research fellow, UC Irvine (2000-) –biologically-inspired software designs for scalable and adaptable distributed computing Ph.D. from Keio U (2001) ex- Technical director, Object Management Group Japan ex.ex- Technical director, Soken Planning Co., Ltd.

3 Where is UC Irvine? UCI (U of California, Irvine) –One of eight UC system universities Irvine –in between LA and San Diego –reported by FBI, as the safest city in the US –1 hour to LA downtown –10 minutes to Newport Beach –20 minutes to Huntington Beach –20 minutes to Anaheim Disneyland –5 hours to Las Vegas

4 Overview UML Profiles UML Profile for EJB UML Profiles and MDA

5 Model Transformation 2 dimensions of model transformation –Domain specialization –Platform specialization Several forms of model transformation –Manual transformation –Automatic transformation Domain specificity Platform specificity

6 Sale Sales Line Item Item Customer An Example of Manual Domain Specialization

7 Sale Sales Line Item Item 1 Sale Sales Line Item Item 1 1..* * Customer

8 Technologies for Model Transformations UML profiles –for EJB –for CORBA –for Realtime scheduling Action semantics –allows modelers to embed actions (behaviors) into model elements.

9 UML Profiles A UML profile –provides a means to specialize UML models to a specific domain or implementation technology. –is defined with the UML extension mechanisms i.e. stereotypes, tag definition/tagged values, and constraints –may extend the UML standard meta model. virtual meta model

10 UML Profile for EJB used for specializing platform independent models to EJB specific models Platform specificity Domain specificity

11 What UML Profile for EJB defines include: –Design model Java design model EJB design model –External model –Internal model –Implementation model Java implementation model EJB implementation model

12 Java Design Model Defines UML representations of Java language constructs –Java class, interface, etc. Java package –mapped to a UML package –e.g. package edu.uci.ics; edu::uci::ics

13 Java Class –mapped to a UML class –e.g. public abstract class Test {} Java Interface –mapped to a UML interface or UML class stereotyped as >. –e.g. public interface Test {} Test {abstract} > Test

14 Java method –mapped to a UML operation –e.g. public void test() throw Foo{} + test(): void {JavaThrows=Foo} Others –Single type import –On demand type import

15 EJB Design Model Defines UML representations of EJB specific constructs –e.g. EJB remote interface, home interface, etc. –External view Defines logical constructs visible to the clients of an EJB Enterprise Bean –Internal view Defines logical constructs visible to the developers of an EJB Enterprise Bean

16 EJB Design Model: External View EJB remote interface –Mapped to a UML class stereotyped as >. EJB home interface –Mapped to a UML class stereotyped as >. EJB session home –Mapped to a UML class stereotyped as >. EJB entity home –Mapped to a UML class stereotyped as >.

17 > CustomerHome +create():Customer EJBHome CustomerHome create(): Customer

18 EJBHome Remote EJBObject CustomerServerHome +create():Customer 《 Interface 》 Customer +getCustomerEntry(name :String):String +setCustomerEntry(name :String):void CustomerServer +getCustomer (name :String):Customer import java.rmi.Remote; import java.rmi.RemoteException; 《 Interface 》 CustomerServerBean +ejbPassivate():Void +ejbActivate():void +ejbCreate():void +ejbRemove():void +setSessionContext(context:SesseionContext):void +getCustomer (name :String):void import.javax.ejb.*; import java.rmi.Remote; import java.rmi.RemoteException; Javax.ejb.SessionBean Javax.ejb.EnterpriseBean 《 implements 》 《 import 》 《 extends 》

19 EJB Method –Means methods declared in EJB Remote and Home interfaces –Mapped to a UML operation – > Represents a create method in a home interface – > Represents a finder interface in a home interface – > Represents a method in a remote interface.

20 > UserSession > deposit() > withdraw() > transfer() > UserSessionHome > create() >

21 EJB primary key –Mapped to a UML usage association stereotyped as >. between EJB primary key class and EJB entity home

22 > Customer > buy() > getName() > reserve() > CustomerHome > create() > findByPrimaryKey() > findByCustomerId() > CustomerKey getHashCode() >

23 EJB Design Model: Internal View EJB enterprise bean –Mapped to a UML subsystem stereotyped as >. EJB session bean –Mapped to a UML subsystem stereotyped as >. EJB entity bean –Mapped to a UML subsystem stereotyped as > – > represents a container- managed field (attribute).

24 > Customer Specification elements Realization elements

25 EJB enterprise bean is declared by –an EJB home interface, –an EJB remote interface, –an EJB implementation class –Supplemental Java classes and interfaces, and –EJB deployment descriptor.

26 EJB implementation class –Mapped to a UML class stereotyped as >. EJB remote interface –Mapped to a UML abstraction association stereotyped as >. between EJB remote interface and EJB implementation class. EJB home interface –Mapped to a UML abstraction association stereotyped as >. between EJB home interface and EJB implementation class.

27 > Customer Specification elements Realization elements > Customer CustomerKey > CustomerHome > CustomerBean >

28 Java Implementation Model Java class file –Mapped to a UML component stereotyped as >. Java archive (JAR) file –Mapped to a UML package stereotyped as >.

29 > Foo Bar > Customer

30 EJB Implementation Model EJB-JAR –Mapped to a UML package stereotyped as > EJB deployment descriptor –Mapped to a UML component stereotyped as >

31 > RetailShop META-INF > ejb-jar.xml > CustomerBean > Customer > CustomerHome > CustomerKey

32 UML Profiles and MDA UML profiles –are key components to achieve MDA vision. –defines a set of mapping rules for model transformations.

33 Traditional Modeling and Development Traditional modeling/dev tools Domain analysts, Modelers, Designers, Developers Domain expertise Platform/technology expertise Applications

34 MDA-based Modeling and Development MDA tools Platform experts Domain expertise Application developers Applications Domain experts Platform expertise Technology (logic impl) expertise

35 Goals in MDA Model continuation –Maximizing model continuation during software development process. Separation of concerns –Maximizing separation of concerns

36 Benefits from MDA Reduced software development cost Reduced software development time Rapid and smooth integration of legacy and emerging technologies

37 Model Transformation and Integration Model transformation –Domain specialization –Platform specialization Model integration –Model weaving MDA tools Platform experts Domain expertise Application developers Applications Domain experts Platform expertise Technology (logic impl) expertise

38 PIM PSM Source code Configuration files ・・・ Application Domain models Patterns model transformations generates/derives MOF XMI Model maintenance and exchange model transformations Model transformations MDA tools Platform experts Domain expertise Application developers Applications Domain experts Platform expertise Technology (logic impl) expertise

39 Model Transformation UML Java/EJB interface CORBA IDL ADL/ASL UML CWM PIM PSM Source code Configuration files ・・・ Application Domain models Patterns model transformations generates/derives MOF XMI Model maintenance and exchange model transformations Model transformations Action Semantics UML Profile for EJB UML Profile for CORBA UML Profile for RT sched Action Semantics UML Profile for EJB UML Profile for CORBA UML Profile for RT sched

40 Model Transformation 2 dimensions of model transformation –Domain specialization –Platform specialization Several forms of model transformation –Manual transformation –Automatic transformation Domain specificity Platform specificity

41 Scope of UML Profile for EJB Domain specificity Platform specificity Abstract Domain Model Detailed Domain Model UML Profile for EJB Detailed Model specific to EJB Specializes to EJB