60
Erfolgreiche Erfolgreiche Anwendungsentwicklung Anwendungsentwicklung mit J2EE mit J2EE TM TM Aus der Praxis Aus der Praxis für die Praxis für die Praxis DOAG Regionaltreffen Nürnberg/Franken DOAG Regionaltreffen Nürnberg/Franken Nürnberg, 01.07.2003 Nürnberg, 01.07.2003 Alexander Benker Senior IT Architect Xavo AG Enterprise IT Solutions Meistersingerstrasse 2 95444 Bayreuth e-mail: [email protected] Tel. +49 (0)921 787779-0 Web: www.xavo.de

Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

Embed Size (px)

Citation preview

Page 1: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

Erfolgreiche Erfolgreiche Anwendungsentwicklung Anwendungsentwicklung

mit J2EEmit J2EETMTM

Aus der Praxis Aus der Praxis –– für die Praxisfür die Praxis

DOAG Regionaltreffen Nürnberg/FrankenDOAG Regionaltreffen Nürnberg/FrankenNürnberg, 01.07.2003Nürnberg, 01.07.2003

Alexander BenkerSenior IT ArchitectXavo AGEnterprise IT SolutionsMeistersingerstrasse 295444 Bayreuthe-mail: [email protected]. +49 (0)921 787779-0Web: www.xavo.de

Page 2: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 2

Erfolgreiche Anwendungsentwicklung mit J2EEErfolgreiche Anwendungsentwicklung mit J2EEAus der Praxis für die PraxisAus der Praxis für die Praxis

• Xavo AG

• Serviceorientierte, komponentenbasierte Architektur

• Modellierung

• Design Patterns

Page 3: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 3

Xavo AGXavo AGDas UnternehmenDas Unternehmen

• Gegründet: Januar 2001

• Kernkompetenzen: IT-Produkte und IT-Dienstleistungen für Industrie und Logistik

• Basistechnologien: J2EE, PL/SQL, XML

• Kunden: British American TobaccoDeutsche TelekomDeutsche PostBayerische Sparkassenu.a.

• Partnerschaften: Swisslog AG (Logistik)Siemens AG (Industrie)SQL GmbH (Datenbanken)Oracle (Technologie)

Page 4: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 4

Xavo AGXavo AGDie KernkompetenzenDie Kernkompetenzen

• Prozess- und Lösungserfahrung in Industrie & Logistik– Produktentwicklung, Engineering, Fertigungssteuerung, Qualitätssicherung,

Betriebsdatenerfassung etc.– Lagerverwaltung, Materialflusssteuerung, Tracking & Tracing, Produktintegrität

etc.

• Professionelle IT-Dienstleistungen– Geschäftsprozessanalyse, Consulting, Projektmanagement– Datenbanken, Applikationserver, Programmierung, Systemintegration

• Innovative Lösungen & Produkte– XavoManufacturing, XavoLogistics, XavoBusiness, XavoWorkgroup– TransConnectSAP

Page 5: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 5

Xavo AGXavo AGDie ITDie IT--TechnologienTechnologien

• Relationale Datenbanken– Oracle, Sybase, Microsoft SQL, DB2

• Applikationsserver– Oracle AS, JBoss, BEA Weblogic, IBM Websphere

• Technologien– J2EE, EJB, XML, .NET, ASP, PHP

• Programmiersprachen– Java, PL/SQL, Powerbuilder, Delphi, Visual Basic, Oracle Forms

• Tools– Rational, Crystal Reports, CAST

Page 6: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 6

Xavo AGXavo AGDie ProduktphilosophieDie Produktphilosophie

Kompetent in GeschäftsprozessenIndustrie/Logistik/Betriebsführung

XavoBaustein

XavoBaustein

XavoBaustein

Kompetenz in ITBeratung/Projekte/Technologien

XYZBaustein

Der Xavo Softwarekatalog

entwickeln Software-BausteineDie Software-Lieferanten

ABCBaustein

wählen die benötigten Software-Bausteine (Funktionalitäten) aus,um ihre bestehenden Anwendungen (Prozesse) zu optimieren

Die Kunden

LegacyAnwendungen

LegacyDaten

LegacyProzesse

XavoBaustein

ABCBaustein

XavoBaustein

Page 7: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 7

Xavo AGXavo AGAuszug realisierter J2EE Auszug realisierter J2EE -- ProjekteProjekte

• XavoBusiness– ToDo-Liste– Sitzungsmanagement– Customer/Supplier/Partner Management– Customer Relationship Management– Knowledge Container– ...

• Kundenprojekte– Unternehmensportal für die Industrie– Internationales Reporting Qualitätskennzahlen– Document Builder – Presentation Builder– Tracking and Tracing– Diverse Informationssysteme für Sparkassen– ...

Page 8: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 8

Erfolgreiche Anwendungsentwicklung mit J2EEErfolgreiche Anwendungsentwicklung mit J2EEAus der Praxis für die PraxisAus der Praxis für die Praxis

• Xavo AG

• Serviceorientierte, komponentenbasierte Architektur

• Modellierung

• Design Patterns

Page 9: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 9

Aspects of Enterprise IT SystemsAspects of Enterprise IT Systems

IT ApplicationsEnterprise, department specific, user group specific

IT ArchitectureBuilding Materials, Models & Services, Design Pattern

IT InfrastructureActive Network, Passive Network, IT Centres, Telecommunication etc.

Page 10: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 10

Aspects of Enterprise IT SystemsAspects of Enterprise IT Systems

IT ApplicationsEnterprise, department specific, user group specific

IT ArchitectureBuilding Materials, Models & Services, Design Pattern

IT InfrastructureActive Network, Passive Network, IT Centres, Telecommunication etc.

Page 11: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 11

ServiceService--Oriented Architecture (SOA)Oriented Architecture (SOA)

• Design software systems, that they provide services to either end-user or other services through published and discoverable interfaces.

• Allow application developers to browse collections of services, select those of interest, and assemble them to create the desired functionality.

• Use modular components to implement services.

Page 12: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 12

Architectural LayersArchitectural Layers

Applications are build using services provided by components

Picture: IBM

Page 13: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 13

Architectural LayersArchitectural Layers

Applications are build using services provided by components

Picture: IBM

Page 14: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 14

Principle: Design Your Services Encapsulated!Principle: Design Your Services Encapsulated!

Picture: Microsoft

Page 15: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 15

Principle: Structure Your Services!Principle: Structure Your Services!

Pictures: Microsoft

Page 16: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 16

Principle: Continuous Usage of Services! Principle: Continuous Usage of Services!

Picture: Microsoft

Page 17: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 17

Principle: Services have different needs!Principle: Services have different needs!

Services Components Objects

Loosely coupled Tightly coupled

Document oriented Object oriented

Process centric Data centric

Asynchronous Synchronous

Page 18: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 18

Principle: Define abstract Business Services!Principle: Define abstract Business Services!

Service Interface

Client

Application, Service, ...

«use»

Service Implementation 1

Service Implementation 2

Service Locator

«use»

lookup

DataEntry()

Manual Input

Automatic Input

Page 19: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 19

Prinzipielle Service Hierarchie bei der Xavo AGPrinzipielle Service Hierarchie bei der Xavo AG

Application

Application Delegate

Business Component Business Component

Component Component Component

Master Data Master Data Master Data Master Data

Page 20: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 20

Komponenten Fertigungsleitstand (Auszug)Komponenten Fertigungsleitstand (Auszug)Production Control Center

Production Control Center Web

Production Control Center EJB

Work Order Execution

Work Order

Work Order Scheduling

Bill Of Material

ERP Connector

Material

XavoLogistics

Page 21: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 21

Principle: Create Components/Services able to integrate Principle: Create Components/Services able to integrate into different IT Environmentsinto different IT Environments

Framework(Xavo, Oracle, Siemens, …)

Best of breed components, providing business functionality are integrated by a framework,

providing standard technical functions.

Box Size: number of functionalitiesBox Colour: vendor of component

Page 22: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 22

Erfolgreiche Anwendungsentwicklung mit J2EEErfolgreiche Anwendungsentwicklung mit J2EEAus der Praxis für die PraxisAus der Praxis für die Praxis

• Xavo AG

• Serviceorientierte, komponentenbasierte Architektur

• Modellierung

• Design Patterns

Page 23: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 23

IT IT Modellierung bei Modellierung bei XavoXavo

IT System

Unit 2Unit 1

Unit 3 Unit 4

ProjectContext

Business ProcessModel

Production OrderMaterial NumberQuantity...

DataModel

Integration Model

XavoEnterprise

EAIBroker

ApplicationArchitecture

Available Services

3rdParty

TechnicalInfrastructure

Enterprise ModelArchitecture Overview

Business ProcessesProceduresOperations

Roles

Logical Data Model(Data Object Definitions, ER)

Physical Data Model

Available ServicesApplication Building

ERP IntegrationEAI Broker

Web Services

NetworkServer

Data Centre

Page 24: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 24

Standard Standard DiagrammDiagramm--Typen bei Typen bei XavoXavoProject Context

ContextDiagrams

NavigationDiagrams

BusinessProcessModel

UML ActivityDiagrams

UML StatechartDiagrams

UML Use CaseDiagrams

UML CollaborationDiagrams

ApplicationArchitecture

UML SequenceDiagrams

UML ComponentDiagrams

Application TreeDiagrams

UML DeploymentDiagrams

Data Model

UML ClassDiagrams

UML PackageDiagrams

UML ObjectDiagrams

IntegrationModel

EAI BrokerDiagrams

IntegrationArchitecture

TechnicalInfrastructure

TechnicalArchitecture

Page 25: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 25

Softwareentwicklungszyklus bei XavoSoftwareentwicklungszyklus bei Xavo

Picture: Rational

Page 26: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 26

Aufgaben und ihre Verteilung bei XavoAufgaben und ihre Verteilung bei Xavo

Picture: Rational

Page 27: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 27

Modellierungsphasen bei XavoModellierungsphasen bei Xavo

Business Process Modelling

Business

Architect

Developer

Analysis & Design

Implementation

Picture: antipatterns.com

Page 28: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 28

Hauptaufgaben der Modellierungsphasen bei XavoHauptaufgaben der Modellierungsphasen bei Xavo

• Business Modelling– Geschäftsprozesse– Geschäftsobjekte

• Analysis and Design– Transformation der Business Process Modellierung in eine Systemarchitektur

• Implementation– Programmierung

Pictures: Rational

Page 29: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 29

Schwerpunkte der Modellierungsphasen bei XavoSchwerpunkte der Modellierungsphasen bei Xavo

• Business Process Modelling– Use Case diagrams– Activity diagrams– Statechart diagrams– Class diagrams

• Analysis and Design– All diagrams

• Implementation– Class diagrams– Sequence diagrams

Page 30: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 30

Beispiel Beispiel XavoLogisticsXavoLogistics: Business : Business Process ModellingProcess Modelling

Warehouse 1___________

Supplier A

Warehouse 2___________

Supplier B

WorkerWarehouse 1

Administration Logistic

Production Planning

Quality Assurance

WorkerWarehouse 2

XavoLogisticsCockpit

- Inventory Management- Receiving- Shipping- Replenishment- Cycle Count...

- Inventory Management- Receiving- Shipping- Replenishment- Cycle Count...

Special Functions like- Inventory Reports- Status Change- Stock Adjustments...

Production Manager

Page 31: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 31

map Parameters for external operation

call external operation

throw Exception

map external result to XavoLogistics result

return result

Connector Principle

[operation supported]

[operation not supported]

Beispiel Beispiel XavoLogisticsXavoLogistics: Analyse und Design: Analyse und Design

XavoLogistics Warehouse Management Application

XavoLogistics Warehouse Management EJB

XavoLogistics Warehouse Management Web

XavoLogistics Warehouse Management Applet

XavoLogistics

Witron WM

Witron WM Connector

Swisslog WM

Swisslog WM Connector

Page 32: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 32

Beispiel Beispiel XavoLogisticsXavoLogistics: Implementierung: Implementierung

«EJBRemoteInterface»SwisslogWMRem

+ «EJBBusinessMethod» getBinStatusReport ( )+ «EJBBusinessMethod» getInventory ( )+ «EJBBusinessMethod» updateInvStatus ( )+ «EJBBusinessMethod» getInvStatus ( )

«EJBImplementation»SwisslogWMEJB

- sessionContext : SessionContext = null

+ ejbActivate ( )+ ejbPassivate ( )+ ejbRemove ( )+ setSessionContext ( )+ «EJBBusinessMethod» getBinStatusReport ( )+ «EJBBusinessMethod» getInventory ( )+ «EJBBusinessMethod» updateInvStatus ( )+ «EJBBusinessMethod» getInvStatus ( )+ «EJBCreateMethod» ejbCreate ( )- getDataSourceName ( )

«EJBSessionHomeInterface»SwisslogWMHome

...

«EJBSessionBean»SwisslogWMEJBean

«EJBRealizeRemote»«abstraction»

«EJBRealizeHome»«abstraction»

«reside»

«reside»

«reside»

Client ServiceLocator : ServiceLocator service : Class

2 : getWMServices ( )

1 : getInstance ( )

3 : getEnvEntry ( name )

4 : forName ( className )

5 : newInstance ( )

Page 33: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 33

Beispiel Beispiel XavoManufacturingXavoManufacturing: Business : Business Process ModellingProcess Modelling

Page 34: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 34

BeispielBeispiel XavoManufacturingXavoManufacturing: Business: Business Process ModellingProcess Modelling

Work Order Scheduling

Work Order Change Over

Work Order Execution

: Work Order[Open]

: Work Order[Released]

: Work Order[Active]

: Work Order[Finished]

: Module[No Operation (No Order)]

: Module[Change Over]

: Module[Running]

: Module[Running Out]

Page 35: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 35

BeispielBeispiel XavoManufacturingXavoManufacturing: Business: Business Process ModellingProcess Modelling

Supplying Materials Set-Up EquipmentActivate DataCollection

Check Change Over Correctness

/ Incorrect

Set-Up Parameter

Execute WO Packet

Ausschnitt: Work Order Execution

Page 36: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 36

BeispielBeispiel XavoManufacturingXavoManufacturing: Business: Business Process ModellingProcess Modelling

Open

/ Create

Released

/ Release

Active

/ Activate,Initiate Module Brand Change

Finished

/ Finish,Initiate Module Running Out (Optional)

Cancelled

/ Cancel,Initiate Module Running Out

/ Cancel,Initiate Module Running Out

Work Order Status

Page 37: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 37

BeispielBeispiel XavoManufacturingXavoManufacturing: Analyse und Design: Analyse und DesignProduction Control Center

Production Control Center Web

Production Control Center EJB

Work Order Execution

Work Order

Work Order Scheduling

Bill Of Material

ERP Connector

Material

XavoLogistics

Page 38: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 38

Beispiel Beispiel XavoManufacturingXavoManufacturing: Analyse und Design: Analyse und Design

show actual WorkOrders download WorkOrders from ERP

show WorkOrder Bill Of Material

check Product Integrity for Bill Of Material

change Stati of WorkOrders

upload WorkOrders to ERP

show the Bill Of Material for a specific WorkOrder and check material IDswhen all materials are checked change status of WorkOrder to released

«access»

«access»

«access»

«access»

check available stock

«access»

Page 39: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 39

BeispielBeispiel XavoManufacturingXavoManufacturing: Implementierung: Implementierung

«EJBRemoteInterface»WorkOrderExecution

«EJBImplementation»WorkOrderExecutionBean

- sessionContext : javax.ejb.SessionContext

+ WorkOrderExecutionBean ( )+ ejbActivate ( )+ ejbPassivate ( )+ ejbRemove ( )+ «EJBCreateMethod» ejbCreate ( )+ setSessionContext ( )

«EJBRealizeRemote»«abstraction»

«EJBSessionHomeInterface»WorkOrderExecutionHome

+ «EJBCreateMethod» create ( )

«EJBRealizeHome»«abstraction»

«EJBSessionBean»WorkOrderExecutionEJB «reside»

«reside»

«reside»

Client ServiceLocator : ServiceLocator service : Class

2 : \getXMService()\

1 : getInstance ( )

3 : getEnvEntry ( name )

4 : forName ( className )

5 : newInstance ( )

Page 40: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 40

Erfolgreiche Anwendungsentwicklung mit J2EEErfolgreiche Anwendungsentwicklung mit J2EEAus der Praxis für die PraxisAus der Praxis für die Praxis

• Xavo AG

• Serviceorientierte, komponentenbasierte Architektur

• Modellierung

• Design Patterns

Page 41: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 41

Design Patterns (Entwurfsmuster)Design Patterns (Entwurfsmuster)

• “Ein Entwurfsmuster beschreibt eine bewährte Lösung für ein wiederholt auftretendes Entwurfsproblem, mit besonderem Schwerpunkt auf den Kontext und die Kräfte, die das Problem umgeben, sowie die Konsequenzen und die Auswirkungen der Lösung.” 1

• Gründe für den Einsatz von Entwurfsmustern– Sie sind bewährt. Man nutzt die Erfahrung, das Wissen und die Einblicke von

Entwicklern, die in ihrer eigenen Arbeit diese Entwurfsmuster erfolgreich eingesetzt haben.

– Sie sind wieder verwendbar. Wenn ein Problem erneut auftritt, muss man keine neue Lösung erfinden; man folgt dem Entwurfsmuster und passt es entsprechend den Notwendigkeiten an.

– Sie sind aussagekräftig. Entwurfsmuster bieten ein allgemein gebräuchliches Vokabular für Lösungen, mit denen man große Lösungen kurz und bündig ausdrücken kann.

Literatur– „Core J2EE Patterns – Best Practices and Design Strategies“

Deepak Alur, John Crupi, Dan Malks– „Design Patterns“

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides1 http://java.sun.com/blueprints/patterns/j2ee_patterns/index.html

Inoffizielle eigene Übersetzung

Page 42: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 42

Some PatternsSome Patterns

Process stream of dataPipes and Filters

Event notification on state changeObserver

Add services transparentlyInterceptor

Interchangeable behaviourStrategy

Runtime link/unlinkComponent Configurator

Unified higher-level interface to subsystemFaçade

Representative with identical interfaceProxy

Enhances object without changing interfaceWrapper

Encapsulates communication mechanismForwarder – Receiver

Middleman decouples remote service interactions

Broker

Chain of request handlersChain of Responsibility

Page 43: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 43

Some J2EE PatternsSome J2EE Patterns

Data Access ObjectService ActivatorWeb Service BrokerDomain Store

Integration Tier

Intercepting FilterFront ControllerContext ObjectView HelperComposite ViewService To WorkerDispatcher View

Presentation Tier

Business DelegateValue Object / Tranfer ObjectValue Object / Transfer Object Assembler Session FacadeApplication ServiceComposite EntityValue List HandlerService Locator

Business Tier

Pattern NameTier

Page 44: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 44

AntiPatternsAntiPatterns

• AntiPatterns are Negative Solutions that present more problems than they address

• AntiPatterns are a natural extension to design patterns

• AntiPatterns bridge the gap between architectural concepts and real-world implementations

• Understanding AntiPatterns provides the knowledge to prevent or recover from them

Page 45: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 45

Some Some AntiPatternsAntiPatterns

Ambiguous ViewpointDead EndFire DrillFunctional DecompositionLava FlowWalking Through a Mine Field

Development

Analysis ParalysisDeath by PlanningIrrational ManagementSmoke and MirrorsViewgraph Engineering

Management

Architecture by Implication(Autogenerated) StovepipeCover Your AssetsIntellectual ViolenceSwiss Army KnifeVendor Lock InWolf Ticket

Architecture

AntiPattern NameLevel

Page 46: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 46

Vielen Dank für Ihre Aufmerksamkeit!

Alexander BenkerSenior IT ArchitectXavo AGEnterprise IT SolutionsMeistersingerstrasse 295444 Bayreuthe-mail: [email protected]. +49 (0)921 787779-0Web: www.xavo.de

Um diese Präsentation in elektronischer Form zu erhalten können Siea) Ihre Visitenkarte bei mir abgeben oderb) auf http://www.xavo.de downloaden

Page 47: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 47

GlossaryGlossary

• MDA – Model Driven Architecture• OOA – Objektorientierte Analyse• OOD – Objektorientiertes Design• RUP – Rational Unified Process• Service — A logical entity; the contract defined by one or more

published interfaces.• Service provider — The software entity that implements a service

specification.• Service requestor — The software entity that calls a service provider.

Traditionally, this is termed a “client”; however, a service requestor can be an end-user application or another service.

• Service locator — A specific kind of service provider that acts as a registry and allows for the lookup of service provider interfaces and service locations.

• Service broker — A specific kind of service provider that can pass on service requests to one or more additional service providers.

• UML – Unified Modelling Language

Page 48: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 48

Quellen und weiteres Informationsmaterial Quellen und weiteres Informationsmaterial

• http://www.xavo.de• http://java.sun.com/blueprints• http://msdn.microsoft.com/architecture• http://www.omg.org

Website der Object Management Group (UML, MDA, ...)

• http://www.rational.com Diverse Whitepaper bezüglich UML, Architektur und Applikationsentwicklung

• http://www.antipatterns.com• „Core J2EE Patterns – Best Practices and Design

Strategies“ (Deepak Alur, John Crupi, Dan Malks)

• „Design Patterns“(Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

Page 49: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 49

Reserve Reserve SlidesSlides

This is extra material which might be interesting

Page 50: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 50

ControllerController-- and Contributorand Contributor--ServicesServices

• Controller– Stateful– Orchestration of other Services– Responsible for

• Business Process• Business Process State

• Contributor– Stateless– Example: Connectors to legacy systems– Responsible for

• Business Logic• Business Data

Source: IONA.com

Page 51: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 51

Frameworks & PlatformsFrameworks & Platforms: Advantages: AdvantagesWithout Framework & Platform

Project Lifetime

Func

tiona

lVa

lue

Project Goes Live

With Framework & Platform

Project Lifetime

Func

tiona

lVa

lue

Shorten Project Development

Extend Project‘sCompetitive Lifetime

Increase ValueThrough Lifetime

Page 52: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 52

Frameworks & Platforms: BUT First Projects take longerFrameworks & Platforms: BUT First Projects take longerWithout Framework & Platform

Project Development

With Framework & Platform (First Projects)

Project Duration

Project Goes Live

Project Analysis

Commis-sioning

2M 5M 1M

Services Development

Project Duration

Project Goes Live

Project Analysis

Commis-sioning

2M 4M 1M

Project Development

ServicesAnalysis

1M 2M

With Framework & Platform (Further Projects)

Project Duration

Project Goes Live

Project Analysis

Commis-sioning

2M 1M

Project Development

2M

ServiceExtens.

1M

Page 53: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 53

Granularität Granularität von Servicesvon Services

Picture: IBM

Page 54: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 54

Design PatternsDesign PatternsData Access Sequence DiagramData Access Sequence Diagram

Page 55: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 55

Design PatternsDesign PatternsBusiness Business DelegateDelegate

• Reduziert die Kopplung von Präsentation und Logik

• Wandelt technische Fehler in Geschäftsfehler um

• Einfache, einheitliche Schnittstellen für den Client

• Caching

Page 56: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 56

Design Patterns Design Patterns Service Service LocatorLocator

• Abstrahiert Komplexität der Aufsuchen- und Kreierungs-Prozesse

• Einheitlicher Zugriff für Clients• Leicht erweiterbar, ohne bestehende

Clients ändern zu müssen• Konzentration der Netzwerk-Zugriffe• Caching

Page 57: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 57

Design Patterns Design Patterns DataData Access Access ObjectObject

• Transparente Datenquellen für Business-Objekte

• Erleichtert Migration• Reduzierung des Codes in Business-

Objekten• Konzentrierung des Datenzugriffs

auf eine Anwendungsschicht

Page 58: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 58

Design Patterns Design Patterns Value ObjectValue Object

Page 59: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 59

Integration ServicesIntegration ServicesXMLXML--basiertes Beispielbasiertes Beispiel

Page 60: Aus der Praxis - doag.org · UML Statechart Diagrams UML Use Case Diagrams UML Collaboration Diagrams Application Architecture UML Sequence Diagrams UML Component Diagrams Application

DOAG Regionalgruppe Nürnberg/Franken – 01.07.2003© Xavo AG 2003 Folie 60

The manifesto of J2EE developersThe manifesto of J2EE developers

• We believe in choice

• We believe in heterogeneous systems

• We believe in competition

• We believe in open standards

• We believe in platform neutrality

• We believe in the community process