330 111 165KB
English Pages [24]
Building ServiceOriented Architectures With Java™ 2 Platform, Enterprise Edition (J2EE™) Ted Farrell Chief Architect, Application Development Oracle Corporation 1
| 2004 JavaOneSM Conference | Session TS-2941
java.sun.com/javaone/sf
Agenda Service-Oriented Architectures SOA on the J2EE™ Platform Best Practices Demonstration Q&A
2
| 2004 JavaOneSM Conference | Session TS-2941
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 3
| 2004 JavaOneSM Conference | Session TS-2941
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
4
| 2004 JavaOneSM Conference | Session TS-2941
SOA Across the Enterprise receive FLOW
get props
get order
get desc.
reply SCOPE
receive FLOW
send msg
ship order
reply
Business Services 5
| 2004 JavaOneSM Conference | Session TS-2941
Service-Oriented Interface • The interface contract to the service is implementation-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) 6
| 2004 JavaOneSM Conference | Session TS-2941
Web Service • • • •
7
WSDL for definition SOAP for protocol UDDI for lookup True implementation and OS independence
| 2004 JavaOneSM Conference | Session TS-2941
Business Process Execution Language (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
8
| 2004 JavaOneSM Conference | Session TS-2941
WSDL
Web Services Interchange Format (WSIF) • Framework for WSDL Bindings ─ Open source ─ Extendable
• Technology-specific adaptors ─ ─ ─ ─ ─
9
SOAP Java™ Cryptography Architecture (JCA) EJB™ specification Java Message Service (JMS) Etc.
| 2004 JavaOneSM Conference | Session TS-2941
Web Services Interchange Format (WSIF) WSDL
Generic Definition Generic Objects WSIF
JCA
EJB
SOAP Native Objects
JCA 10
| 2004 JavaOneSM Conference | Session TS-2941
App Server
Web Services for Remote Portals (WSRP) • • • •
WSDL for definition SOAP for protocol UDDI for lookup Meta information for: ─ ─ ─ ─
11
User context Device information Locale Publishing information
| 2004 JavaOneSM Conference | Session TS-2941
Data Control (JSR 227) • SOI for data binding data into user interfaces • What about Web Services? ! Consistent definition X 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 12
| 2004 JavaOneSM Conference | Session TS-2941
Data Control Architecture
Client Generic Objects
Client
Data Control EJB JCA WS Native Objects
Server
13
App Server
| 2004 JavaOneSM Conference | Session TS-2941
WS
The Implementation Is the Service • • • • • • • • 14
Performance Scalability Transactions Caching Clustering Capabilities/choice Integration into legacy systems Optimizations
| 2004 JavaOneSM Conference | Session TS-2941
Optimizing Your SOA • Interface-only
Anyone
─ 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. 15
| 2004 JavaOneSM Conference | Session TS-2941
J2EE
Vendor’s Server Same Objects
J2EE Platform for SOAs • More vendor support
Anyone
─ More common technologies ─ More optimization
• Increased chance of optimized implementation ─ Standard definitions—optimized implementation ─ 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 16
| 2004 JavaOneSM Conference | Session TS-2941
J2EE
Vendor’s Server Same Objects
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
17
| 2004 JavaOneSM Conference | Session TS-2941
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?
18
| 2004 JavaOneSM Conference | Session TS-2941
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 don’t ─ Submit standards when possible 19
| 2004 JavaOneSM Conference | Session TS-2941
Demo Building an End-to-end Application Using SOA 20
| 2004 JavaOneSM Conference | Session TS-2941
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 21
| 2004 JavaOneSM Conference | Session TS-2941
For More Information • BOF-1917: XML and J2EE™ TechnologyBased Information Integration–Real-World Experiences and Case Studies
• TS-3203: On the Road to SOA: Building Real-World Enterprise Web Services
• Oracle Booth #601
22
| 2004 JavaOneSM Conference | Session TS-2941
Q&A
23
| 2004 JavaOneSM Conference | Session TS-2941
Building ServiceOriented Architectures With Java™ 2 Platform, Enterprise Edition (J2EE™) Ted Farrell Chief Architect, Application Development Oracle Corporation 24
| 2004 JavaOneSM Conference | Session TS-2941
java.sun.com/javaone/sf