model-driven and service-oriented development using eclipse, j2ee… · 2019-11-26 · chief...

39
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © 2005 by IBM Corporation Sridhar Iyengar IBM Distinguished Engineer Chief Technical Strategist Rational Software Kyle Brown Senior Technical Staff Member IBM Software Services for WebSphere Model-driven and Service-oriented Development using Eclipse, J2EE, and Web Services: Standards, Tools, Assets & Patterns

Upload: others

Post on 29-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

© 2002 IBM CorporationConfidential | Date | Other Information, if necessary© 2005 by IBM Corporation

Sridhar IyengarIBM Distinguished EngineerChief Technical StrategistRational Software

Kyle BrownSenior Technical Staff MemberIBM Software Services for WebSphere

Model-driven and Service-oriented Development using Eclipse, J2EE, and Web Services:

Standards, Tools, Assets & Patterns

Page 2: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

2 © 2005 by IBM Corporation

Outline

� Where we are with our Application Development Tooling and MDA?� Key Trends

� Eclipse and IBM strategies

� What are the key challenges facing our customers with SOA and MDA?

� How do we meet the challenges of SOA and MDA? � Tooling and runtime directions

� Assets and Patterns

Page 3: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

3 © 2005 by IBM Corporation

Some Key Trends in Application Development - 1� The rise of open source (eclipse) and open standards (W3C,

OASIS and OMG) based tools

� From individual tools to a suite of tools – ‘End-end application lifecycle management’

� From multiple tools platform (one for each vendor) to a unified Eclipse open tools platform with support for rich data/metadata interchange

� Enterprise customers moving to integrated tool suites gradually – still many gaps to close

Page 4: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

4 © 2005 by IBM Corporation

Some Key Trends in Application Development - 2

� The concept of end-end Application Life Cycle Management taking hold

� Evolution of Software Development as a Business Process� IBM, Borland and now Microsoft are showing increased focus

on Software Development as a process’

� ‘Software Development as a Business Process’ is now highlighted by IBM, Borland and others

� Vendors announce ‘new & improved’ platforms – with tools customized by role – yet integrated

� Eclipse Open Source & Open standards based� IBM SDP - Software Development Platform (2004)� Borland SDP - Software Delivery Platform (2005)

� Microsoft Visual Studio Team System� Tools for each user role

� Business Analyst, IT Architect, Data Architect, Developer, Tester, Manager, Executive etc

Page 5: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

5 © 2005 by IBM Corporation

Model Driven Development & Deployment

BusinessModeling

(BPD,UML)

BusinessModeling

(BPD,UML)

IT Modeling(UML, SQL, XSD)

IT Modeling(UML, SQL, XSD)

J2EE/Web ServicesDevelopment

WrappingOrchestration

(J2EE))

J2EE/Web ServicesDevelopment

WrappingOrchestration

(J2EE))

DeploymentJ2EE App SvrWeb Services

DeploymentJ2EE App SvrWeb Services

Management

ComponentMgmt

App Mgmt

Management

ComponentMgmt

App Mgmt

Design/Build Run/Manage

WSDLWSDL J2EEJ2EEXMLXML

SPEMSPEM

BPELBPEL

SQLSQL

J2EEJ2EE

EMFEMF SQLSQL

UML2BPELUML2BPEL

JavaJava

CIMCIMUML2UML2BPMBPM

BizRulesBiz

RulesC++C++

J2EEJ2EE

TraceabilityLinks and

Transformations

Specific metadataModels

Serve up models, Components, processes

On Demand

UML2J2EE

UML2J2EE

DCMDCMSISI

Requires a Models, Metadata, Mappings enabled Integration Platform

Page 6: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

6 © 2005 by IBM Corporation

������������������

� � ��� � � ���� � � �� � � �

� � ��� � � ���

����������������������

Eclipse Architecture: Layers & Subsystems

� �� ��� �� �� ���� �� � ��� �� ��� �� �� ���� �� � ��

� � ����� ����� � � � � ����� ����� � ��� � �� � ��� ��� � �� � ��� �

���� ����� �� ��� � �� � � � �� ������ ����� �� ��� � �� � � � �� ��

� �� ��� �� ��� � ��� �� ��� �� ��� � ��

� � ��� � � ���� � � �� �� ��� � ��� � � �� �� ��� � ��

� � ��� � � ��� � ��� � �� ��� ! ����� ��� � �� ��� ! ����

" ��� �# � � � $" ��� �# � � � $

� % &�' � ��! ��� % &�' � ��! ��

" ��� �# � � � $" ��� �# � � � $

� � �

( ��$ � ��

� � ���

" ��� �# � � � $

� � ! ��$ )

' �$ ��

" ��� �# � � � $

� � ��

�$ ��* �� �� ����� �$ ��* �� �� �����

" ��� �# � � � $" ��� �# � � � $� � ! ���* �� �$ ��� � ! ���* �� �$ ��

" ��� �# � � � $" ��� �# � � � $

�$ ��* �� �� ����� �$ ��* �� �� �����

� � ��� � � ���

+ � � � � �+ � � � � �

" ��� �# � � � $" ��� �# � � � $ � �! ! �! � � � � � �! ! �! � � � �

" ��� �# � � � $" ��� �# � � � $

� % &�' � ��! �� �,� % &�' � ��! �� �,� � ! ����� � ! ����

� � ��� � � ���+ � + �

� � ��� � � ��� � �! ! �! � �! ! �!

� � ��� � � ���

Page 7: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

7 © 2005 by IBM Corporation

How is the IBM tools platform evolving?

� IBM began the move to the use of EMF as a tools integration metadata platform in 2001

� We had a couple of iterations as we started with early versions of the OMG MOF 1.3 spec

� Several optimizations led to creation of EMF and the Ecore model � Over time the Ecore and MOF2.0 models have converged

� The MOF2::EMOF compliance point is now supported by EMF (Import EMOF models to drive EMF generations)

� As we move forward with our tools we are learning more about howto improve the Eclipse tools platform

� becoming more model driven! � In addition to EMF support, we are beginning to add RAS support to

desktop tools, then repositories� There is a way to go on improving the model-driven nature of

Eclipse � We expect this will iterate as the UML2 and anticipated ‘Graphical

Modeling Framework’ (GMF) projects move forward

Page 8: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

8 © 2005 by IBM Corporation

IBM Modeling Platform Architecture: A simple view

Page 9: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

9 © 2005 by IBM Corporation

Application Life Cycle Integration Platform

! ��� � ! ��� � ��� ���� ������ - � ��� � � ����. ! ��� � ! ��� � ��� ���� ������ - � ��� � � ����. � ��� $ �/� �� � ��� $ �/� �� � �� �� �� ��� ���! ! ��� � �$ 0� �� �� �� ��� ���! ! ��� � �$ 0

���� ���� � � �������� ���� � � ����.� 1 2�+ � �3 �� � �� �$ 2�.� 1 2�+ � �3 �� � �� �$ 2�

� �� �� - � ��0� �� �� - � ��0

� ���� � � �$� ���� � � �$

.� � ' � 3 2�, � �.� � ' � 3 2�, � �))00

� � � ���� � � ���

3 � �� ����3 � �� ����

� � �$ 4�� � $ � � �$ 4�� � $ ))

� � � � � � �$� � � � � � �$.5 6�� �2�� ����� � ! ����2.5 6�� �2�� ����� � ! ����2

� � ! ��������� � $� � ! ��������� � $ ))00

� � ! �4�� ����� ��� �� � $ ��� � ��$ 2�� ����� ��� � � �$ ��.� � ! �4�� ����� ��� �� � $ ��� � ��$ 2�� ����� ��� � � �$ ��. � ��� $ �/� �� � ��� $ �/� �� � �� �� �� ��� ���! ! ��� � �$ 0� �� �� �� ��� ���! ! ��� � �$ 0

� ��� $ �� � � �$ �&�������� �� ����� � � �.� � ! ��$ 2��� &$ 2�, � ���� � � ��$ )0

� ��� $ ��� � �� � ��� $ ��� � ��

� "� " � � 4� � � � 4� �

�$ ��� �$ ��� � � � �

� " � " � � �� � � � / � /

� � � 4� � �� � � 4� � �.% � �1 2� � ".% � �1 2� � " ))00

� 1 � 1 . � ' 2�� 3 �. � ' 2�� 3 � ))00

+ � �3 �� � �� �$ �+ � �3 �� � �� �$ �., 3 �., 3 � ))00

� / � /

Page 10: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

10 © 2005 by IBM Corporation

Where does this leave us?

� We have a good story for development of standard Java and J2EE applications through the lifecycle using MDA approaches� Integration and interoperability with other vendors and

with the free Eclipse tools will only get better over time

� But this is only the easiest part of our problem…� We still have to address the issues brought on by SOA

Page 11: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

11 © 2005 by IBM Corporation

60 to 80 percent of the 60 to 80 percent of the average company's IT average company's IT

budget is spent on budget is spent on maintaining existing maintaining existing

applicationsapplications11

Challenges facing development teams

� Overwhelming complexity� Relentless time-to-market

pressure� Geographically distributed teams

1“Optimizing Enterprise IT” (Intelligent Enterprise, 2/24/2005)

Page 12: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

12 © 2005 by IBM Corporation

What is Service-Oriented Architecture?

SOA is different things to different people:

�a set of services that a business wants to expose to their customers and partners, or other portions of the organization

�an architectural style which requires a service provider, requestor and a service description

�a set of architectural principles, patterns and criteriawhich address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composability

�a programming model complete with standards, tools and technologies such as Web Services

BusinessExecutive,Consultant

Architect

Developer

Page 13: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

13 © 2005 by IBM Corporation

ServiceServiceA repeatable business taskA repeatable business task

(e.g., check customer credit; open new account)(e.g., check customer credit; open new account)

Service OrientationService OrientationA way of looking at your business as linked A way of looking at your business as linked services and the outcomes that they bringservices and the outcomes that they bring

Service Oriented ArchitectureService Oriented ArchitectureThe IT style that supports service orientationThe IT style that supports service orientation

and has reuse at its coreand has reuse at its core

Composite ApplicationComposite ApplicationA series of integrated services that supportA series of integrated services that support

a business process built on an SOAa business process built on an SOA

���������

���� ��

�������� ��

� � � ��� � � ��

��������

The world of SOA

Page 14: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

14 © 2005 by IBM Corporation

Business Driven Development …Roadmap

Rational RequisitePro

Create, Simulate & Analyze As-Is

Business Model

WebSphere Business Modeler (4Q05)

Create FinancialReports & ROI

Estimates

Create Observation Model with KPIs & export to Monitor

Create, Simulate, Analyze and Optimize To-Be Business Model

BusinessAnalyst

Integration Developer

WebSphere Integration DeveloperChoreograph

services using BPEL, WSDL,

etc.

Configure Human Task Manager

(including Ad-Hoc) & Client

Use Business Rules, State Machines, Web Services, Adapters,

ESB, etc.

Understand Risk, Project

Costs, and ROI

Identify and Manage

Projects and Resources

CIO

ProjectManager

Rational PortfolioManager

DataArchitect

ModelRelationalDatabaseSchemas

Rational DataArchitect (4Q05)

RDB Mapping

Trace Requirements & Create System

Use Case Realizations

Model & Implement Services, & expose as

Web Services

Test Create & Manage

SystemRequirements

Architect

RationalSoftwareArchitect Java

Developer

Develop Portlets(App UI

and Monitor)

PortalDeveloper

Tester

Rational Functional & Performance Tester

IBM Rational Team Unifying Platform

BPELWSDL

UML

DBA

Deploy/Run

Monitor BusinessOperations

Analyst

Runtime�WebSphere Process Server�WebSphere Portal �WebSphere Business Monitor

WSDLEAR

WSDLEAR

Observation ModelRun-time Statistics

Page 15: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

15 © 2005 by IBM Corporation

Business Driven Development…Reality

Customer Purchase Process

Determine Applicant Eligibility Service Elaboration

Account Verification Elaboration

Business GoalsBusiness Use Cases

Business Opportunities

Business Issues

Business Issues

xx

x

#1. Poorly shared business context

Simulation Data

Simulation Data

x

#4. Too many tertiary UIs

#3. Poor Traceability/Notification

#2. Elaboration / Refinement upwards not possible

Page 16: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

16 © 2005 by IBM Corporation

SOA Programming Model

� Programming Model Simplification� Complexity in the programming model shows through as complexity in

development, debug, test, systems administration and monitoring

� Service Data Objects (SDO) - Universal data model for data access (pass data to & from applications)

� On a standards path JSR 235 championed by IBM and BEA

� Service Component Architecture (SCA) – Component model for WebSphere

� Required and Offered interfaces (Java interfaces or WSDL interfaces)

� Component and Subsystem wiring

� BPEL4WS – Scripting of components, workflow

Page 17: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

17 © 2005 by IBM Corporation

SCA Service-Oriented Component Model

� Significant simplification over J2EE

� Abstracts stateless session EJBs, web services, POJOs, BPEL4WS processes, database access, JCA access, etc.

� Separates “business logic” from “infrastructure logic”

� Covers both usage and development of services/components

� A uniform model for application programmers and for tools�Enables advanced, domain-specific, task-oriented tools

� Uniform programming model for “programming in the small” (application development) and “programming in the large” (application integration)

�Integrates with and provides programming model for the Enterprise Service Bus

� Simple declarative model for importing services that are implemented in other service technologies (e.g., EJB, Web Service, JCA, etc.)

� Uniform client programming model for accessing services whether an SCA service or an imported service.

Page 18: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

18 © 2005 by IBM Corporation

SDO Data Abstraction

N/AJava Introspection

XMLStaticDisconnectedJAX-RPC

N/AJava Introspection

XMLStaticDisconnectedJAXB

XPath, XQuery

XML InfoSetXMLDynamicDisconnectedDOM and SAX

UndefinedUndefinedRecord-basedDynamicDisconnectedJCA

JDOQLJava Introspection

Relational, Object

StaticConnectedJDO

EJBQLJava Introspection

RelationalStaticConnectedEntity EJB

SQLRelationalRelationalDynamicDisconnectedJDBC Cached Rowset

SQLRelationalRelationalDynamicConnectedJDBC Rowset

Query Language

MetaData API

DataSource

APIModelSDO

• Common API• Disconnected

support

• Relationship integrity

• Generated and dynamic interfaces

• Validation

• Rich meta-data

• XML and XML schema

• XPath navigation

• SCA data mediators

Page 19: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

19 © 2005 by IBM Corporation

SCA – Component, Interface, Implementation, and Reference

Interface

Component = “Service A”

Implementation

“BPEL”“BPEL” “Java”“Java”“Adaptive

Entity”“Adaptive

Entity”

“BusinessRule”

“BusinessRule”

“HumanTask”

“HumanTask”

“Selector”“Selector” “Mediation”“Mediation”

Java InterfaceJava

Interface

WSDLPort TypeWSDL

Port Type

Java InterfaceJava

Interface

WSDLPort TypeWSDL

Port Type

ParametersSDOParameters

SDO

Service CReference

Service BReference

References: Define service requirement

Page 20: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

20 © 2005 by IBM Corporation

ModuleModule: Unit of deployment

SCA – Module Structure

Service AImpl = “BPEL”

Service BImpl = “Java”

binding = “Service”binding = “Service”

binding = “Web Service”binding =

“Web Service”

binding = “J2C”binding = “J2C”

binding = “JMS”binding = “JMS”

binding = “…”binding = “…” StandaloneReference

Non-SCAArtifact

JSPJSPXSDXSD

WSDLWSDLJava ClassJava Class

…………

ServiceExport

Exports: Provide services externally

ServiceImport

Imports: Use external services

binding = “Service”binding = “Service”

binding = “S-SEJB”binding = “S-SEJB”

binding = “Web Service”binding =

“Web Service”

binding = “Data Mediator”binding =

“Data Mediator”

binding = “J2C”binding = “J2C”

binding = “JMS”binding = “JMS”

binding = “…”binding = “…”

Wires: Resolve references

Page 21: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

21 © 2005 by IBM Corporation

Tomorrow’s Development Tooling Goals

� Simplification� Better assist the “business-oriented” developer� Shift to SOA and a simplified programming model

Page 22: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

22 © 2005 by IBM Corporation

Service Component Tooling

� Abstract the operation creation task for a service component.

� Links interface operations with implementation.

� Easily set references to other service components and then use it in the coding of the implementation.

� Service implementation can be in many different flavors:

� Java

� BPEL

� DataAccess (specialized)

� Supported service interfaces will be Java and WSDL.

� Easily set Quality of Services (e.g., security, transactions, etc.).

� Support publish and discovery of service components as reusable assets.

Page 23: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

23 © 2005 by IBM Corporation

System Creation

Leverage Enterprise topology patterns for creating new systems.

Page 24: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

24 © 2005 by IBM Corporation

Deployment Modeling

� Captures system structure and application requirements.

� Captures topology and associated supported specifications.

� Captures the logical structure of your data center nodes or servers.

� Allow a mapping of the system structures to the logical servers.

� Constraint validation checking between application structures and logical server supported specifications.

� Portable to Tivoli provisioning tools to further customize.

Page 25: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

25 © 2005 by IBM Corporation

So where are we?

� Our development tools are becoming SCA-aware� We are also addressing issues of deployment modeling

in the SOA IF

� But this is still only part of the problem…� We can build applications the way WE want, but is

this the way our CUSTOMERS want their applications?

Page 26: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

26 © 2005 by IBM Corporation

Patterns and Assets

�What are patterns and why do we care?� Patterns, recipes, templates & taxonomy

�The Rational Patterns & Repository Architecture� The Reusable Asset Specification (RAS) & Repository� Authoring & utilizing patterns/templates in RSA

�A call to action

Page 27: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

27 © 2005 by IBM Corporation

� Addressing the most difficult issues� Capturing and tooling best practices found in the field� Capturing common customer architectural decisions� Enabling our consultants and customers to show us the important

problems

� Consumability� Complexity of products

� Testing, outside-in design, ease of use mitigate some of this complexity� Complexity of customer problems

� Recipes, patterns, and templates mitigate some of this complexity

� Moving forward with parallel delivery strategies� Base tooling/runtimes� SOA IF� Rich patterns portal on dW

Motivation for IBM focus on patterns & assets

Page 28: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

28 © 2005 by IBM Corporation

What’s An Asset?� When tooling for assets, need a consistent

representation on which to build

� An Asset is� a collection of Artifacts� which provide a solution to a

problem� for a given context� with rules for usage� and variability points

� What are Artifacts?� Workproducts from the software process

� Requirements, Models, Source code, Tests, and so on…

� Workproducts from the solution process� Pricing, terms and conditions, hardware, and

so on…

� Kinds of assets� Components, patterns, web services,

frameworks, templates, …

� � � ���

�$ $ ��

�� ����� �

�� ����� �

�� ����� �

3 � �� ���

����

���

���

���

���

��

(�$

# ��� �� � ��$ 4�$ �� � � ��� $ ��� � �� $ ���

����

� ���

�-��

��

Page 29: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

29 © 2005 by IBM Corporation

Reusable Asset Specification (RAS)� Provides a standard way to describe

and package assets

� Reduces the friction on development transactions� Thru standard, consistent packaging

� RAS provides the organization and structure of information and artifacts for an asset

� RAS enables tooling to automate many asset workflows

� RAS is used to package many kinds of assets including components, services, and pattern implementations, …

AssetClassification

Descriptors: Name/Value pairsContext

Domain, Development, Test, Deployment, and so on…

UsageUsage Instructions & ActivitiesFilling Variability Points

Related AssetsAssociation, Aggregation, Dependency, Parent

Solution

ArtifactsRequirementsModels, Code, Tests

…Documents

Asset Overview

Name Desc State Ver Profile

Adopted as OMG standard in 2004

Ass

etA

sset

met

a-da

ta

Page 30: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

30 © 2005 by IBM Corporation

What’s A Pattern?

Implementedas

Component/Service/RSA Transform, Pattern/Template/ …

Automation 3 5 ��� �7 � �$ ��� �3 �! ��� �� � �� 3 ��� �����

� � �� � ����� � ��� � � ��� ���

� � ��� � ��� �� �� ���

�� ������ � � � � �

3 5 ��� �7 � �$ ��� �3 �! ��� �� � �� ������3 � �� ���� ����

! �� ���� ��" � � # �� � ���� �� � � ���� � ��� � �� � � � � �

$ �� % �� � �� � ����� � � �& ' � ��

ExampleConcepts

Pattern describes a solution to a recurring problem for a context

Implementedas

� A pattern is a kind of asset

� A pattern describes a solution to a recurring problem in a context

� Patterns ease the sharing of proven solutionsPattern

Specification

PatternImplementation

Pattern Author observes and

documents the solution

Pattern Implementer develops the pattern using the Pattern

Specification and puts it into a RAS repository

Page 31: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

31 © 2005 by IBM Corporation

Patterns At Many LevelsAcross Many IBM Teams

Business

Operational Architecture

Application Architecture

Deployment

Systematic: top-down approach to building systems

Opportunistic: start at any point

• Business Model/Process Patterns• Cross-Industry Business Patterns

• Patterns for e-Business (P4eb)• Process integration patterns (P4eb)• Data integration patterns (P4eb)• SOA & Web Services patterns• Enterprise integration patterns• System management patterns(P4eb)• Information integration patterns(P4eb)

• Cross-industry business application patterns (P4eb)

• LWP templates• SOA design patterns• Design patterns (ISSW, ODSD)• Data model & Grid patterns• Legacy transformation patterns

• Data management patterns• Application & infrastructure

deployment patterns• Testing patterns• Hardware patterns

ISSW

EIS

ODSD

Rational

SOA IF

Page 32: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

32 © 2005 by IBM Corporation

Authoring And Implementing A Pattern� There are multiple skill levels to target these proven solutions for development time

� When deciding which approach to use, the pattern implementer evaluates the� skills of the target user� interactive vs. batch style� nature of the problem to be solved

� Although this puts greater effort on the implementers, it improves the consumability for the target development users

RunTime

X

The pattern implementation outlined above could produce the same, runtime service or component.

In this case Service X is created.

3 5 ��� �7 � �$ ��� �3 �! ��� �� � �� ������3 � �� ���� ����

DevelopmentTime

RSAThe Design Pattern Toolkit (DPTK), on

alphaWorks, is being merged with JET as

JET2 in RSA.

Coming in to RSA/SDP

3 5 ��� �7 � �$ ��� �3 �! ��� �� � �� 1 � �� � ����

Implr Skill: moderate, JET, “JSP”User Skill: Java, otherUsage Style: batchPurpose: code gen, artifact manip

certified

3 5 ��� �7 � �$ ��� �3 �! ��� �� � �� 3 �� ��$ �� � �

3 5 ��� �7 � �$ ��� �3 �! ��� �� � �� 3 ��� �����

Implr Skill: high, RSA API, UMLEclipse plug-in

User Skill: UMLUsage Style: interactivePurpose: model transforms

Implr Skill: high, RSA API, UML[opt]Eclipse plug-in

User Skill: Java, UML[opt], otherUsage Style: batchPurpose: code gen, artifact manip

certifiedcertified

Page 33: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

33 © 2005 by IBM Corporation

Compose Solutions Using Recipes

� Recipes reference the assets (services, components, RSA patterns, …) to use and the sequence to use them to solve larger-grained problems� A recipe is a special kind of asset which composes other assets

� Recipes improve consumability by reducing the level of effort to� Find the assets which solve a particular problem� Figure out how to make several assets work together to solve a particular

problem

�������������� �����������

��������������������������

� �������3 � ��

� ������'3 � ��

� �������3 � ��

� �������3 � ��

� �� �� �3 � ��

Development Time

Component D

� �������� 3 ��� �����

� �� �� �

Service B

Service A

Page 34: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

34 © 2005 by IBM Corporation

Tools and Repository For Pattern Implementations

Repository Service

Author Pattern Implementations

& Recipes

Browse, Reuse Solutions by- Role- Industry- …

Manage Assets

Thin Client

Asset Portal

Rich Client

Repository Service

RAS Asset Repository

Ret

ail

Fina

ncia

l Ser

vice

sIn

sura

nce

EMF/RAS

Recipes

SOA Integ Frmwk

Recipe 1

Recipe 2

Recipe 3

Business Pattern Implementations

Business Delegate

Session FacadeData Access ObjectMessage Facade

Application Arch Pattern Impls

Operational Arch Patterns Impls

Deployment Pattern Impls

Pattern, RAS, Recipe Tools

create/reuse

browse

Page 35: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

35 © 2005 by IBM Corporation

Pattern, Recipe, RAS Tools: Next Steps� The asset repository should support a

spectrum from lightweight to enterprise-level capabilities� Team-level Repository

� Rational has developed a RAS repository J2EE service deployable on WAS for customers and partners

� This service is also hosted on developerWorks

� Service Oriented Asset Repository (SOAR)� This repository is being developed for IBM

services teams� Enterprise-level Repository

� This is supported through partners such as Flashline, and LogicLibrary

RAS and other components are moving to a common component layer, allowing multiple

SWG products to implement patterns.

RAS Asset Repository

Ret

ail

Fina

ncia

l Ser

vice

sIn

sura

nce

EMF/RAS/UDDI

Recipes

SOA Integ Frmwk

Recipe 1

Recipe 2

Recipe 3

Business Pattern Implementations

Business Delegate

Session FacadeData Access ObjectMessage Facade

Application Arch Pattern Impls

Operational Arch Patterns Impls

Deployment Pattern Impls

Asset Portal

Transform, RAS, Recipe Tools

Page 36: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

36 © 2005 by IBM Corporation

Building Pattern Community

� Pattern Solutions main page on developerWorks � Help drive RSA sales

� Create market buzz� Pattern Enablement activities:

� Working with Rational Media Relations on press articles

� DeveloperRelations, DevX

� Low Touch publicly available RAS repository to promote ease of asset sharing

� Amazon.com style review� aka “junk yard” approach

� Vote your most favorite pattern

Page 37: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

37 © 2005 by IBM Corporation

Patterns : How do you get involved?

� Learn to use existing frameworks for RSA and how to reuse existing patterns on Developerworks� Contribute to the development of new frameworks and tools (e.g.

JET II)� Author your own pattern solutions for your domain of

expertise� Work with services to find and implement patterns

� Publish these on Developerworks� Participate in the SWGAB Patterns Workgroups

� Implementation, Specification Governance� Help IBM be more competitive by expanding the reach if your

expertise

Page 38: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

38 © 2005 by IBM Corporation

Summary

� We’ve seen:� How our MDA and Development tools have evolved

hand-in-hand with the Eclipse foundation

� Where we are and where we are going to address the challenges posed by SOA

� Where we need to go to address the issues raised by asset-based development

Page 39: Model-driven and Service-oriented Development using Eclipse, J2EE… · 2019-11-26 · Chief Technical Strategist Rational Software Kyle Brown ... J2EE/Web Services Development Wrapping

39 © 2005 by IBM Corporation

Trademarks

� OMG™, MDA™, UML™, MOF™, and XMI™ are trademarks of the Object Management Group

� IBM™ is a trademark of the IBM Corporation� Java™ and J2EE™ are trademark of SUN

Microsystems� XML™ is a trademark of W3C� All other trademarks belong to their respective

organizations