Top Banner
Tool Support for Developing Scalable J2EE Web Service Architectures Guus Ramackers Application Development Tools Oracle Corporation [email protected] www.oracle.com
21

Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Aug 21, 2018

Download

Documents

phunglien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Tool Support for DevelopingScalable J2EE Web ServiceArchitectures

Guus RamackersApplication Development ToolsOracle Corporation

[email protected]

Page 2: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Using All This in Real Life …

Design Patterns Best

Practices

Frameworks

Architectures

WebServicesJ2EE UML

LegacySystems

Page 3: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Confused?

Compare with: Elevator Sign in Hyatt Burlingame:

In the event of a malfunction :1. Do not become alarmed2. Press the red button marked “alarm”

Page 4: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Why web services?Enabling Virtual Organizations

– Eliminating the “stove pipe syndrone” within a company

E.g. telecoms company with .Net and J2EE focused divisions (based on pre-takeover culture)

– Cross company collaborative business processesE.g. doing what Dell does, without dictating implementation

Ubiquitous Enterprise Application Integration– “Cheap and cheerful”, not heavyweight – Utilize the internet for inter-connection– No more “screen scraping”

Page 5: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Start from Scratch?

Web Service development does not require– A “whole new way of developing”– A “whole new architectural paradigm”– A “whole new component model”

Web Services are simply a different way of exposing an interface to existing architectures

– “WSDL is the IDL for the internet”– As with IDL, care must be taken to design the right

interfaces– A reusable architecture is a prerequisite

Page 6: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

End-to-end J2EE Application ArchitectureComponent Standards

– Container provides standardized run-time, e.g. EJB, ServletsDesign Patterns

– Solve common design issues & provide common vocabulary– E.g. Session Façade, Value Object, Paged Lists

Development Frameworks– Optimize interaction between multiple patterns– Focused on client, web, server, or database tier– E.g. Struts, Oracle BC4J

Application Architecture– Combine frameworks to form end-to-end application architecture– Typically Model-View-Controller architecture in J2EE context– E.g. JSP + Struts + BC4J + JDBC– Reuse the Model (e.g. Mobile + WS + BC4J + JDBC)

Page 7: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Scalability of WS Interfaces

Performance of the protocol– SOAP versus RMI

Binding between systems– Enterprise systems can’t wait for each other

Asynchronous clientAsynchronous transportAsynchronous server

Granularity of requests– Batch up records– Batch up changes

Page 8: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Expose Coarse Grain Services

MDB

EJBEJB

SessionFacade

PL/SQL

WSD

L

JSP

WebService

MobileJMS

Queue

Java (3GL)

Portal

Page 9: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Tool Support for J2EE WS

JSP, Servlet,

Java,Web Service

Clients

SOAP Stub

Application ServerClient

Java SOAP Servlet

Java,EJB,JMS,

PL/SQL

Database

JDBC

UDDI Registry

SOAP

HTTP

Generate

Generate

EJB SOAPServlet

JMS SOAPServlet

PL/SQL SOAPServlet

WSDL

Page 10: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Contract Driven Development

Define UML web service PIM (service and operations)Select implementation target and generate PSM and Artifacts

WSDLClient stub(Sample) Client skeletonServer stubServer implementation skeleton

Add client and server method implementations in framework context

Page 11: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web
Page 12: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web
Page 13: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Implementation Driven Development

Reverse Engineer UML web service PIM, by selecting methods to be exposed from existing (framework or legacy) implementationTool generation of PSM and Artifacts

WSDLClient stub(Sample) Client skeletonServer stub

Refine client implementation

Page 14: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web
Page 15: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web
Page 16: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Standards are essentialJAX-RPC, JSR-109Interoperability : WS-I

– Profiles– Best practices– Monitoring, Logging,

Analyzing tools

Links to Specs

WSWS--I ProfileI Profile

Conventionsand BestPractices

Customer quote: “there are standards, and there are standards”

– Royalty-free versus licensing required?– Centralized control versus community process?– Overlapping content versus complementary?– Historical competence versus competitive body?

Page 17: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Download Oracle 9i Application Server and JDeveloper for Free

http://otn.oracle.com/products/Full functionality softwareLicense fee payable on deployment of commercial applicationMany “How-To’s” and Examples available

Page 18: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S

Page 19: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

OracleE-Business

Suite

APIAPI

Integration GatewayIntegration Gateway

Service Repository

Invocation Client API

XMLXMLGatewayGateway

WorkflowWorkflowEngineEngine

BusinessBusinessEventEvent

SystemSystem

Standard WebStandard WebService Service ServletsServlets

WebWebServicesServicesRuntimeRuntime

EE--Business SuiteBusiness SuiteWorkflow ServletWorkflow Servlet

EE--Business SuiteBusiness SuiteXML ServletXML Servlet

JAXJAX--RPCRPCImplementationImplementation

Oracle9iAS Web ServicesOracle9iAS Web Services

Integration Gateway

Page 20: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Oracle9iAS: Application Server

Web Services Description Language

SOAP Translator

JDBC

JMS

JCA

SOAP

TradingPartners

Exchanges

ServiceProviders

Customers

HeterogeneousData Sources

PackagedApplications

CustomApplications

LegacySystems

Oracle9iAS Application Server

J2EE Components

Page 21: Tool Support for Developing Scalable J2EE Web …€¦ · Tool Support for Developing Scalable J2EE Web Service Architectures ... Tool Support for J2EE WS JSP, Servlet, Java, Web

Oracle9i JDeveloper: Building Web services

Built on standards– SOAP, WSDL, UDDI– Java XML Pack – Apache SOAP

Complete lifecycle– Model, build, deploy, debug,

profileIntegrated

– Publish J2EE components – Publish DB stored

procedures– Consume external services

UDDI lookup and discovery

Web ServicePublishing

J2EEComponent Deployment

J2EEComponent

DevelopmentSOAP

Client & ServerGeneration

UDDILookup

WSDLGeneration