building service oriented architectures (soa) with the j2ee platform ts2941.pdf
TRANSCRIPT
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
1/24
java.sun.com/javaone/sf
| 2004 JavaOneSM Conference | Session TS-29411
Building Service-Oriented Architectures
With Java 2Platform, EnterpriseEdition (J2EE)
Ted Farrell
Chief Architect, Application Development
Oracle Corporation
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
2/24
| 2004 JavaOneSM Conference | Session TS-29412
Agenda
Service-Oriented Architectures
SOA on the J2EE PlatformBest Practices
DemonstrationQ&A
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
3/24
| 2004 JavaOneSM Conference | Session TS-29413
Service-Oriented Architectures
Decouple architecture from implementation! Loosely- coupled interfaces
!Multi- channel access across different tiers
Process-oriented vs. component-based
Orchestration!Process flow between services
!Data mapping/transformation
Evolving business models!Technology changes and new business requirements
!Continuous small changes vs. sporadic large ones
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
4/24| 2004 JavaOneSM Conference | Session TS-29414
Benefits of SOA
Better reuse!Build new client functionality on top of
existing Business Services
Well-defined interfaces!
Make changes without affecting clients Easier maintainability
!Changes/versions are not all-or-nothing
Better flexibility
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
5/24| 2004 JavaOneSM Conference | Session TS-29415
SOA Across the Enterprise
receive
get orderget props
get desc.
SCOPE
FLOW
reply
receive
ship ordersend msg
FLOW
reply
Business
Services
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
6/24| 2004 JavaOneSM Conference | Session TS-29416
Service-Oriented Interface
The interface contract to the service isimplementation-independent
The service can be dynamically invoked!Runtime binding
The service is self-contained!Maintains its own state
Examples!Web Services
!WSRP
!Data Control (JSR 227)
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
7/24| 2004 JavaOneSM Conference | Session TS-29417
Web Service
WSDL for definition
SOAP for protocol UDDI for lookup
True implementation and OS independence
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
8/24| 2004 JavaOneSM Conference | Session TS-29418
Business Process ExecutionLanguage (BPEL)
WSDL for definition!High-level business definition
!Low-level technical definition
XPath for expression language
XML Schema for data typing Protocol independent
!Definition
!Binding
WSDL
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
9/24| 2004 JavaOneSM Conference | Session TS-29419
Web Services InterchangeFormat (WSIF)
Framework for WSDL Bindings!Open source
!Extendable
Technology-specific adaptors
!SOAP
!Java Cryptography Architecture (JCA)
!EJB specification
!Java Message Service (JMS)
!Etc.
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
10/24| 2004 JavaOneSM Conference | Session TS-294110
Web Services InterchangeFormat (WSIF)
WSIF
JCA EJB SOAP
Generic Definition
App ServerJCA
Native Objects
Generic Objects
WSDL
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
11/24| 2004 JavaOneSM Conference | Session TS-294111
Web Services for RemotePortals (WSRP)
WSDL for definition
SOAP for protocol UDDI for lookup
Meta information for:!User context
!Device information
!Locale
!Publishing information
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
12/24
| 2004 JavaOneSM Conference | Session TS-294112
Data Control (JSR 227)
SOI for data binding data into user interfaces
What about Web Services?! Consistent definitionX Conversion to XML
X Binding-specific attributes Too specific for general service
X Overhead for native(EJB spec, Java class, etc.) types
Data Control! Consistent definition
! No conversion of data
!Native communication to services
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
13/24
| 2004 JavaOneSM Conference | Session TS-294113
Data Control Architecture
Client
Data ControlEJB JCA WS
App Server WS
Client
Server
Generic Objects
Native Objects
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
14/24
| 2004 JavaOneSM Conference | Session TS-294114
The Implementation Is the Service
Performance
Scalability Transactions
Caching
Clustering
Capabilities/choice
Integration into legacy systems
Optimizations
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
15/24
| 2004 JavaOneSM Conference | Session TS-294115
Same
Objects
Vendors
Server
Optimizing Your SOA
Interface-only! XML, WSDL, SOAP, HTTP, BPEL, WSRP
Same technology (Good)! JSR 207 Process Definition for Java Technology
! JSR 208 Java Business Integration
! JSR 235 Service Data Objects
!JSR 227 Declarative Data Binding
! JSR 168 (Portal)
Same server (Better)! Optimized XML
! By-pass network calls
! Shared connections
Same container (Best)
!Native communication
! Integrated cache, etc.
J2EE
Anyone
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
16/24
| 2004 JavaOneSM Conference | Session TS-294116
J2EE Platform for SOAs
More vendor support! More common technologies
!More optimization
Increased chance of optimizedimplementation
!Standard definitionsoptimizedimplementation
! WSIF Adaptor for the J2EE platform?
!Optimized when both the
J2EE platform!SOAP when mixed
!No change for developer
More platform support! Better legacy access
Same
Objects
Vendors
Server
J2EE
Anyone
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
17/24
| 2004 JavaOneSM Conference | Session TS-294117
Where Are Your Services?
Interfaces to existing functionality!Service-oriented interfaces
!From existing APIs (EJB, Beans, etc.)
!New APIs (refactoring and delegation)
!Security
!State Management
New interfaces to new functionality
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
18/24
| 2004 JavaOneSM Conference | Session TS-294118
What Are Your Interfaces?
Web Services!Wrap all functionality as Web Services
!Map all data into XML
!Translate and load all data into/out of XML
!SOAP
What else?
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
19/24
| 2004 JavaOneSM Conference | Session TS-294119
Choosing a Service-Oriented Interface
Consistent interface!Targeted at function
!Hide implementation
!Expose capabilities
Generic data description!
Reduce runtime overhead
Consider the clients!Now and future
Mutually agreed upon!Standards when they fit!Extend standards where they dont
!Submit standards when possible
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
20/24
| 2004 JavaOneSM Conference | Session TS-294120
Demo
Building an End-to-end
Application Using SOA
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
21/24
| 2004 JavaOneSM Conference | Session TS-294121
Summary
Services-oriented architectures!Running back-end business processes
!Feeding front-end user interfaces
Pick the right interface for the job
!Consider the clients
!Utilize standards
!Take advantage of optimizations
SOA on the J2EE platform!Choice
!Diversity
!Optimization
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
22/24
| 2004 JavaOneSM Conference | Session TS-294122
For More Information
BOF-1917: XML and J2EE Technology-Based Information IntegrationReal-World
Experiences and Case Studies
TS-3203: On the Road to SOA: BuildingReal-World Enterprise Web Services
Oracle Booth #601
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
23/24
| 2004 JavaOneSM Conference | Session TS-294123
Q&A
-
8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf
24/24
java.sun.com/javaone/sf
| 2004 JavaOneSM Conference | Session TS-294124
Building Service-Oriented ArchitecturesWith Java 2Platform, EnterpriseEdition (J2EE)
Ted Farrell
Chief Architect, Application Development
Oracle Corporation