Sei sulla pagina 1di 40

Challenges and Solutions for

Developing Composite Applications


on the Java EE Platform
Dr. Malte Kaufmann Volker Stiehl
malte.christian.kaufmann@ volker.stiehl@sap.com
sap.com SAP AG
SAP AG
TS-0725

2006 JavaOneSM Conference | Session TS-0725 |


Goal

Learn how frameworks built on Java™


Platform, Enterprise Edition (Java EE)
technology provide a methodology and
toolset to efficiently develop and manage
composite applications

2006 JavaOneSM Conference | Session TS-0725 | 2


Agenda
Composite Applications—Motivation
Composite Applications—Anatomy and
Challenges
Composite Applications—Framework-
based Solution
Summary
Demo

2006 JavaOneSM Conference | Session TS-0725 | 3


Agenda
Composite Applications—Motivation
Composite Applications—Anatomy and
Challenges
Composite Applications—Framework-
based Solution
Summary
Demo

2006 JavaOneSM Conference | Session TS-0725 | 4


Do You Remember…?
• Java technology on the server
• Servlets/JavaServer Pages™ technology for dynamic
web pages
• …integrating databases
• …integrating Java technology-enabled 3rd-party systems
• UI frameworks (Struts)
• Enterprise JavaBeans™ (EJB™) technology
• Lightweight Frameworks (Spring)
 Seeking for ease of development and increased
productivity to reduce time-to-market

2006 JavaOneSM Conference | Session TS-0725 | 5


Why Composite Applications (CAs)?
• Expand reach to collaborative processes which are
often paper or Excel-based and preceding or parallel
to processes covered in backend systems

• Many users work based on paper, Excel, or mail


• Volatile processes which are not tracked (not measurable)
Business Need • Processes inside current systems are not flexible enough
• Implement new processes without upgrading the existing ones

• Build Packaged Composite Applications covering these spaces


Approach • Use SOA for integrating with backends
• Use modeling to offer the flexibility needed

2006 JavaOneSM Conference | Session TS-0725 | 6


End-User Requirements to CAs
• Provides end-user with a seamless intelligent
experience irrespective of functional, data, and
system boundaries
• Provides a single user experience
• Provides an intelligent user experience
• Breaks functional and system boundaries—“No Boundaries”
• Views the enterprise as a whole as opposed to its
separate parts
• Forces enterprise-wide system/human collaboration
• Largely assembles a solution from existing multi-source content
• Adaptable by business analysts

2006 JavaOneSM Conference | Session TS-0725 | 7


Technical Definition of CAs
Definition
An application making use of data and functions provided as services by
underlying applications and combining these into user-centric processes
and views, supported by its own business logic and specific user interfaces.

Synonym: Composite

Technical Characteristics
End-user requirements • Own lifecycle
translate into technical • Loosely coupled with backend systems
definition and characteristics
of Composite Applications • Backend integration via stateless service calls
• Backend independency (recommended)
• Easy to adopt/enhance for customers
• Model-driven architecture

2006 JavaOneSM Conference | Session TS-0725 | 8


Agenda
Composite Applications—Motivation
Composite Applications—Anatomy and
Challenges
Composite Applications—Framework-
based solution
Summary
Demo

2006 JavaOneSM Conference | Session TS-0725 | 9


Portal
Role 1 Role 2
COMPOSITE APPLICATIONS

Composite
Step 1 Step 2 Step 3 Step 4 Process

We start by thinking about a new user-centric


process re-using functionality of existing systems
BACKEND

Systems
CRM BW ERP

DB DB DB

Services Actions BO model Database


2006 JavaOneSM Conference | Session TS-0725 | 10
Portal
Role 1 Role 2
COMPOSITE APPLICATIONS

Composite
Step 1 Step 2 Step 3 Step 4 Process

The systems have to be “service enabled”


to provide their functionality in an unified way

Service Enablement
Services Services Services
BACKEND

Systems
CRM BW ERP

DB DB DB

Services Actions BO model Database


2006 JavaOneSM Conference | Session TS-0725 | 11
Portal
Role 1 Role 2

Composite
Step 1 Step 2 Step 3 Step 4 Process

The “exchange infrastructure” acts as the


messaging middleware for service communication,
connectivity, transformation, and portability

Exchange
Infrastructure
(optional)

Service Enablement
Services Services Services
BACKEND

Systems
CRM BW ERP

DB DB DB

Services Actions BO model Database


2006 JavaOneSM Conference | Session TS-0725 | 12
Role 1 Role 2 Portal
COMPOSITE APPLICATION

Step 1 Step 2 Step 3 Step 4 Composite Process

Business Objects Business Objects


Local Remote

Exchange
Infrastructure
The unified business (optional)

object model provides Service Enablement


the flexibility toServices
make Services Services
BACKEND

transparent usage CRM


of BW ERP
Systems

business objects with


DB DB DB
local or remote
persistency Services Actions BO model Database
2006 JavaOneSM Conference | Session TS-0725 | 13
Role 1 Role 2 Portal
COMPOSITE APPLICATION

Step 1 Step 2 Step 3 Step 4 Composite Process

Business Objects,
Local
Remote Business Objects Services
Services
Services Local Remote

Exchange
Infrastructure
The unified service (optional)

model provides service Service Enablement


abstraction andServices
shields Services Services
BACKEND

higher layers from CRM BW ERP


Systems

service implementation
DB DB DB
details making them
replaceableServices Actions BO model Database
2006 JavaOneSM Conference | Session TS-0725 | 14
Role 1 Role 2 Portal
COMPOSITE APPLICATION

Step 1 Step 2 Step 3 Step 4 Composite Process

UI UI UI User interfaces

Business Objects,
Local
Remote Business Objects Services
Services
Services Local Remote

Exchange
Infrastructure
(optional)

Service Enablement
New user interfaces Services Services Services
BACKEND

can be created on top Systems


CRM BW ERP
of the provided
services DB DB DB

Services Actions BO model Database


2006 JavaOneSM Conference | Session TS-0725 | 15
Role 1 Role 2 Portal
COMPOSITE APPLICATION

Step 1 Step 2 Step 3 Step 4 Composite Process

Actions

UI UI UI Action-UI

Business Objects,
Local
Remote Business Objects Services
Services
Services Local Remote

Exchange
Actions decouple Infrastructure
(optional)
process steps from
Service Enablement
services and user Services Services Services
BACKEND

interfaces to allow Systems


business expertsCRM to BW ERP

model processes on a DB DB DB

non-technical level Actions


Services BO model Database
2006 JavaOneSM Conference | Session TS-0725 | 16
How to model new
collaborative processes?
Role 1 Role 2 Portal
COMPOSITE APPLICATION

Step 1 Step 2 Step 3 Step 4 Composite Process


How to model new
user interfaces?
Actions
How to model
How to reuse How to model How to create new
UI BOs
UI with local UI
existing services? BOs with remote Action-UI services?
persistency?
persistency?

Business Objects,
Local
Remote Business Objects Services
Services
Services Local Remote
How to keep independency
of the underlying IT landscape?
Exchange
Infrastructure
(optional)

Service Enablement
Services Services Services
BACKEND

Systems
CRM BW ERP

DB DB DB

Services Actions BO model Database


2006 JavaOneSM Conference | Session TS-0725 | 17
Role 1 Role 2 Portal
COMPOSITE APPLICATION

Step 1 Step 2 Step 3 Step 4 Composite Process

Actions

UI UI UI Action-UI

Business Objects,
Local
Remote Business Objects Services
Services
Services Local Remote
Process Agents
Business Proc. Platform

Enterprise Service Rep.

Exchange
Infrastructure

LDU LDU LDU Logical Deployment


Units

Foundation Foundation

Services Actions BO model Database


2006 JavaOneSM Conference | Session TS-0725 | 18
Agenda
Composite Applications—Motivation
Composite Applications—Anatomy and
Challenges
Composite Applications—Framework-
based solution
Summary
Demo

2006 JavaOneSM Conference | Session TS-0725 | 19


Java EE Platform-Based Solution
Design Time Run Time
Composite Application Framework
Process Modeler Metadata Process Framework

Guided Procedures Guided Procedures Work Centers


Processes
Workflows Workflow Runtime
Activities

UI Modeler UI Framework

Web Dynpro User UI Components UI Patterns


Interfaces
Pattern Config. WebDynpro Runtime

Service Modeler Service Framework


Services Services Entity Services Application Services
Entities
Persistence
Entities External Services
Manager

Integration Web
DB
Broker Services
2006 JavaOneSM Conference | Session TS-0725 | 20
How to Build CAs From Now On?
• Model (local and remote persistency, service
interfaces, user interfaces, process logic)
• Generate code and tables based on platform
independent metadata
• Integrate and enrich backend systems
• Reuse predefined patterns; UI templates,
process patterns, services and data types

2006 JavaOneSM Conference | Session TS-0725 | 21


Benefits of Model-Driven Metadata-
Based Development
• Focus on business logic (boiler plate code will be generated)
• Abstract from technologies, frameworks, platforms, and
programming languages
• Reduce
• Complexity
• Development time
• Errors
• Improve
• Flexibility and adaptability
• Productivity
• Quality
• Supportability

2006 JavaOneSM Conference | Session TS-0725 | 22


2006 JavaOneSM Conference | Session TS-0725 | 23
2006 JavaOneSM Conference | Session TS-0725 | 24
2006 JavaOneSM Conference | Session TS-0725 | 25
2006 JavaOneSM Conference | Session TS-0725 | 26
2006 JavaOneSM Conference | Session TS-0725 | 27
2006 JavaOneSM Conference | Session TS-0725 | 28
GP-Kit-Screenshots

2006 JavaOneSM Conference | Session TS-0725 | 29


2006 JavaOneSM Conference | Session TS-0725 | 30
Java EE Platform—
Ideal Platform for CAs
• Lightweight service runtime leveraging Java
Java EE Engine

Web Dynpro
EE platform capabilities Web Dynpro
components
WD4VC
Runtime

• MOF-based metadata repository R R

CAF
• Service implementation as session beans Web Dynpro Proxy

R
• Persistency framework based on EJB 3.0 Service Access
specification
• Connectivity framework Service Runtime R

Framework Entity and Generic services


• Web Services, synchronous and asynchronous services R Application
R
Security services BW Connector
• Reliable messaging UME
MMR EJB
UDC
R
• Java Connector Architecture Eventing
R
KM Connector
JMS WebService
• Eventing and notification framework based on
Java Message Service R R

• Standard-based interfaces for clients Data Access

• Services accessible as session beans from Persistency Manager Remote Access Manager

Java-based UIs
R R R
• Services accessible as Web Services, Web Service
published in UDDI registry EJB 3.0 JCO
ESF

2006 JavaOneSM Conference | Session TS-0725 | 31


Upcoming Standards and Initiatives
• Service Data Objects (SDO)
• Specification for a programming model that unifies data
programming across data source types
• Service Component Architecture (SCA)
• Specification which describes a model for building applications
and systems using a SOA
• BPEL4People
• Describes how the WS-BPEL language needs to be extended
to cover user interactions with business processes
• Enterprise Services Community Process
• A SAP initiated first cross-industry community process for
enterprise services

2006 JavaOneSM Conference | Session TS-0725 | 32


Agenda
Composite Applications—Motivation
Composite Applications—Anatomy and
Challenges
Composite Applications—Framework-
based solution
Summary
Demo

2006 JavaOneSM Conference | Session TS-0725 | 33


Summary
• Composite Applications empower companies
to drive innovative business processes by
leveraging existing IT investments
• Composite Application Frameworks (like SAP
CAF) provide a methodology and toolset to
efficiently develop and manage composite
applications—following SOA principles
• Metadata-based modelling tools help developers
to abstract from technologies, frameworks, and
programming languages and at the same time
improve flexibility, productivity, and quality
2006 JavaOneSM Conference | Session TS-0725 | 34
Agenda
Composite Applications—Motivation
Composite Applications—Anatomy and
Challenges
Composite Applications—Framework-
based solution
Summary
Demo

2006 JavaOneSM Conference | Session TS-0725 | 35


2006 JavaOneSM Conference | Session TS-0725 | 36
DEMO
Building a Composite Application—
Highlights

2006 JavaOneSM Conference | Session TS-0725 | 37


For More Information
• SAP
http://www.sap.com
• SAP Composite Application Framework on SDN
https://www.sdn.sap.com/irj/sdn/developerareas/
xapps?rid=/webcontent/uuid/7b9b3834-0801-0010-
6a9a-dc53e0db37f2
• Enterprise Services Community Process
http://www.sap.com/solutions/netweaver/newsevents/
Press.epx?PressID=5005

2006 JavaOneSM Conference | Session TS-0725 | 38


Q&A
Dr. Malte Kaufmann, SAP AG
Volker Stiehl, SAP AG

2006 JavaOneSM Conference | Session TS-0725 | 39


Challenges and Solutions for
Developing Composite Applications
on the Java EE Platform
Dr. Malte Kaufmann
Volker Stiehl
malte.christian.kaufmann@ volker.stiehl@sap.com
sap.com SAP AG
SAP AG
TS-0725

2006 JavaOneSM Conference | Session TS-0725 |

Potrebbero piacerti anche