soa and bea

30
AGILE Development for J2EE Service-Oriented Architectures Dave Fowler 5/19/2004

Upload: zubin67

Post on 08-Jul-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOA and BEA

AGILE Development for J2EE

Service-Oriented Architectures

Dave Fowler

5/19/2004

Page 2: SOA and BEA

Agenda

Intro to SOA / SODA

How BEA enables SOA / SODA

Demo

Page 3: SOA and BEA

SOA

SOA key concepts *:

Composite applications approaching a real-time model

Dynamic linkage

Support for services and solutions

Heterogeneity is here to stay!

End to end process synchronization

Multi-enterprise focus

Flexible, “open” (and still standards-based) IT architecture

Loosely-coupled architecture – reuse insisted

Building systems that can change!

* Gartner, et. al.

Page 4: SOA and BEA

History of SOA

OOD (Object Oriented Development)

Abstraction of complexity – but not program context

CBD (Component Based Development)

Use of objects across programs

SODA (Service Oriented Development Architecture)

Use of components across processes

Page 5: SOA and BEA

Services, Components … what’s the difference?

Services vs. Components

The difference is how much you need to know about how something works vs. what it does

Services and Components are complementary

The key is providing an easy, flexible way to reuse the components across multiple services

Page 6: SOA and BEA

SODA

SODA key concepts:

Application integration must begin at design time – not after all the systems are completed

Building composite applications using services from different systems

“Assembly of parts, plus orchestration of flow”

Allow people to change process w/o breaking the whole

SODA is “application integration” for developers

Page 7: SOA and BEA

APS and SOA / SODA

Gartner Recommends an Application Platform Suite (APS) to SOA / SODA. An APS will have tools for:

Visualization

Modeling

Fabrication

Assembly

Orchestration

Automation (hide complexity)

Modifiability

Page 8: SOA and BEA

APS and SOA / SODA

An APS built for developer productivity: Controls based

Architecture assets as key enables of business value

Services decoupled from processes

Rapid construction of complex Web Services

Integrated unit testing

A single IDE environment for all the above

Modeling and Pattern Based Development

Page 9: SOA and BEA

WebLogic Workshop at a Glance

Improved productivity for: Web applications

Web services

Controls

EJBs

Integration apps

Portals

Minimal J2EE knowledge required: Simplified approach to events,

properties, and controls

Ensures enterprise-class architecture

Events

Properties

Controls

It is easier to build any enterprise-class application

Use a visual, simplified development model and application framework

So that…Workshop allows you to…

Page 10: SOA and BEA

Immediate Deployment and Testing

BEA WebLogic Workshop 8.1Application Framework

JMS EJBs JDBC

BEA WebLogic Platform 8.1Java Controls

Java Web Service

Java Page Flow

Visual Development

Standard Java with annotations

How does it work?

You can use a RAD approach without compromising enterprise architecture

Rapidly build applications with reusable J2EE components and architecture

So that…Workshop allows you to…

Implements applications on J2EE components

Page 11: SOA and BEA

Enough Powerpoint!

Time to Demo

Page 12: SOA and BEA

Supplemental Slides

Page 13: SOA and BEA

Workshop IDE Features

Shared tools and palettes

Automatic support for two-way visual-source editing

Advanced source editing features

Fast, multi-language debugging

Shared project model

Source code control integration

Extensibility model for third parties

You can write code faster and work with existing team development tools

Use standard IDE features to speed coding, debugging and team development

So that…Workshop’s IDE allows you to…

Page 14: SOA and BEA

Controls Framework

Workshop Controls Provide

A simple and common abstraction to all resources used by an application

A unified programming model across the platform

An extensible architecture (developers can create custom controls)

Page 15: SOA and BEA

Workshop Controls: Unified Access to Resources

Page 16: SOA and BEA

Custom Java Controls

Create Custom Control types

Custom Control SDK

Consume other Controls

Create reusable composite services

Add business logic

“Best practices in a box”

Expose selected APIs

Asynchronous communications

You can create reusable “best practices” services across many resources

Consume other Controls and add business logic to create composite services

So that…Custom Java Controls allow you to…

Page 17: SOA and BEA

Controls for Portals

Page 18: SOA and BEA

Web Services: Gartner’s take

Page 19: SOA and BEA

Web Services: Bea’s Take

Enterprise-class Web services:

Asynchronous messaging

Loose-coupling with XQuery

WS-Security, reliable messaging, attachments, etc.

.NET Interoperability

JWS innovations being standardized via JSR 181

You can build enterprise-class Web services using a simplified approach

Build asynchronous, loosely-coupled, and coarse grained Web services

So that…Workshop allows you to…

Page 20: SOA and BEA

Building Messaging-Based, Service-Oriented Applications in Workshop

Trigger Rules Transform & RouteIncoming Events Process

Events

ProcessesChannel

Channel

Channel

Message

Broker

You can anonymously propagate data in a loosely coupled & asynchronous way

Filter and route messages based on contents and process rules

So that…Allows you to…

Page 21: SOA and BEA

Features of Workshop’s Messaging-Based, Service-Oriented Applications

JMS Based Messaging

Tuned implementation of Java Messaging Service (JMS)

Built-in reliability, failover, clustering

Hierarchical Channel Structure Supports XML & non XML messages

Anonymous Publish & Subscribe

Content Based Filtering

Subscribe to Multiple Channels

Dynamic Message Routing

Change message routing at run-time(Service Broker)

Event Generators

Timer, File, Email, JMS, EIS Systems

Unified Development Model

Content Based Filtering

Page 22: SOA and BEA

Web Services and SOA

Key component, but can’t always be simple request/response

Must be conversational

Must be easy to reuse and integrate into other processes

Page 23: SOA and BEA

Where does the portal fit in all this? What is it’s primary goal?

To surface SOA applications

Create custom-fit portals based upon user needs, not just a presentation layer of an existing application. Why? Because today’s complex applications are an aggregation of different processes – something now referred to as Process Portals

Page 24: SOA and BEA

How is this different from other portals?

Traditional portals are just the presentation layer of an existing application

The portal is an extension of an application – hence the user has to know the application as well as the portal view

Real world “process portals” are designed with the user in mind – not the application. A custom fit portal is an extension of a service, not just an application. That service may require accessing multiple applications in a user-specific way. The portal should be flexible enough to surface the service the user needs, hiding the application(s) required to provide the service

Page 25: SOA and BEA

Controls Abstraction: an example

Page 26: SOA and BEA

So … we have reusable controls to multiple processes, but how do we utilize them?

Control

Control

Control

Tax Web service

PricingEJB

Order Entry Custom Control

createOrder

OrderResp

getAllCust EJB

Control

createOrder

OrderResp

getAllCust

Order Entry Web service

EJB

Order Management Processes

Database

EJB

WSPartners

Customers

Employees Employee Portal

Customer Portal

Partner Portal

Order Entry Web

Order Mgt Task-list

Page 27: SOA and BEA

What is process orchestration and management? Why do it?

You can rapidly implement business requirements in a representative and adaptable way

Graphically design business processes that access systems, people and trading partners

So that…Allows you to …

Separate Process Logic from Implementation Logic

Common Visual Language

Easily Maintainable

Built in State Management

Business Process Monitoring

Unified Model for Process Automation & Human Workflow

Page 28: SOA and BEA

What is process orchestration and management? Why do it?

High Productivity Modeling Tool Based on PD4J Standard

Awarded “Most Innovative JSR*” Graphical Drag and Drop Wizard based configuration

Native Support for Java, XML & nonXML One click to Java if/when required Reconciles Java, XML & non XML

Consistent, single environment For EAI, UI, B2B, Workflow &

Transformation Aimed at the non-specialist Application

Developer & Business Analyst

Process Templates Package as a Control for re-use and

portability

Wizard Based Development

Native XML Support

* Java Community Process(SM)

Page 29: SOA and BEA

How can you access and leverage your enterprise resources?

Consistent Model for:

Application Integration

Standard J2CA Adapters

Custom Adapters or Custom Controls

Business User Integration

Unified Model

Task Based System

Enables Critical Decision Making

Trading Partner Integration

Unified Model

ebXML, Rosettanet, Web Services

Business Users

Trading Partners

Applications

Page 30: SOA and BEA

Summary

Automate Processes by Orchestrating Resources Automated “Order Management” process

Access Diverse Enterprise Resources Accessed Packaged Apps, Custom Apps and End Users

Transform Data from one format to another Transform from App Specific format to a Common Object

format

Create loosely coupled message based architectures Publish to multiple Subscribers

Access Aggregated Data from Disparate Resources Accessed Unified Customer View for Order Approver

Monitor and Manage Automated Processes Monitored Long Running Process & Workflow Tasks