web services done right done quickly
DESCRIPTION
Web Services Done Right Done Quickly. Matthew Fowler New Technology/ enterprise Ltd London. Agenda. NT/e's Experience Architecture for Web Services JeeWiz - A J2EE System Generator. NT/ e ’s Experience with BEA. 40 Projects on behalf of BEA All sizes - very large to small - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/1.jpg)
Web ServicesDone Right
Done Quickly
Matthew Fowler
New Technology/enterprise Ltd
London
![Page 2: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/2.jpg)
Agenda
• NT/e's Experience
• Architecture for Web Services
• JeeWiz - A J2EE System Generator
![Page 3: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/3.jpg)
NT/e’s Experience with BEA
• 40 Projects on behalf of BEA
• All sizes - very large to small
• All roles - architect to deployer
• All stages - Proof Of Concept to go-live
• WLS Training - Development, Admin
• WLS 4.0 -> WLS 6.1
• WLC, WLPI, WLCS
![Page 4: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/4.jpg)
Some Projects
• Banks: Deutsche, Dresdner, UBS Warburg
• Finance: Capital One, EBRD, Crest
• Comms: British Telecom, Nokia, Equant
• FT100: BA, BP Amoco, Sainsburys
• Others: FT, TAG Maclaren, Jumpy, Vizzavi
• BEA Partners: Accenture, CSC, Scient
![Page 5: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/5.jpg)
Part 2.Architecture for Web Services
• The Background - BT Project
• The Battles
• The Principles
• The Architecture - A Synthesis
![Page 6: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/6.jpg)
• British Telecom
• Internal System Team
• "Common Entry Point" – Multi-channel, multi-client ... large!
• WLS replaced – IBM DCE RPC – WLE
The Background
![Page 7: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/7.jpg)
BusinessCustomers
COSMOS
CustomerInformation
Mainframes
WebLogicEnterprise
Login MUX
WebLogic Server Mid-Tier
BusinessCustomers
RetailCall Centre
BT.com
NetworkManagement
Client Systems
![Page 8: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/8.jpg)
The Battles
• RMI or EJB access route
• Straight-through, no value-add
• Stateful or Stateless
• Ru-Use on Business Objects
• Access to "Entities"
• Where is the business logic
• Access to mainframes/back-end services
![Page 9: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/9.jpg)
RMI or EJB access route
• Issue: RMI access simpler, it's an option
• Need: Transaction & network management
• Resolution: EJB - RMI excluded
• Realisation: EJB Facade layer
![Page 10: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/10.jpg)
Straight-through, no value-add
• Issue: enough business logic on mainframe
• Need: access to login server
• Resolution: Support straight-through– Value added
• Transaction & network management
• Access Routes at front and back ends
• Realisation: Special Session EJBs
![Page 11: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/11.jpg)
Stateful or Stateless
• Issue: amount of mid-tier information
• Need: response-time/throughput goals
• Resolution: allow either
![Page 12: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/12.jpg)
Re-Use on Business Objects ?
• Issue: Scepticism concerning reuse on "Business Objects"
• Need: ROI demands maximal reuse
• Resolution: – Reusable "Business Objects"– Non-reusable "Business Process Objects"
• Realisation: BPOs and BOs
![Page 13: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/13.jpg)
Access To "Entities"
• Issue: "give me entity info, no biz process"
• Need: simple multi-client access to entity information
• Resolution: allow access to Biz Objects
• Realisation: generic "BO Access" Session EJB
• Caveat: use for retrieval only
![Page 14: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/14.jpg)
Where is the business logic
• Issue: Why have business logic in mid-tier?
• Need: Performance, ease of programming
• Resolution: allow none, or lots
• Realisation: three styles:– no business object– access to business object via generic EJB– use full BPO stack
![Page 15: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/15.jpg)
• Issues: – Little objects, big transactions– Multiple-choices for mainframe transactions– Migration to WebServices at M/F
• Resolution:– Information Layer driven by Business Process– Smart mapping, caching, XML intermediate
Access to Mainframes/back-end services
![Page 16: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/16.jpg)
Business Process Objects (Java)Business Process Objects (Java) Client-Specific Business ProceduresAccessible Business Processes
Services (Session EJBs) Services (Session EJBs) Client Identity, BP Selection, Exception HandlingAccessible Services
Business Objects (Java)Business Objects (Java) e.g. AccountBO, CustomerBO, OrderBOBusiness Concepts
Dependent DataDependent Data e.g. OrderLine
Information Objects (Java)Information Objects (Java) e.g. Account, Customer, OrderBusiness Information
Dependent DataDependent Data
Access Routes (Servlets)Access Routes (Servlets) Pluggable Access Routes, e.g. SOAP, Http/XMLChannels
Persistence / TransactionsPersistence / Transactions EJB, Connectors, Web Services, CORBAPersistence
![Page 17: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/17.jpg)
Services - Session EJBsServices - Session EJBs
Business ProcessesBusiness Processes
Http/XMLServlet
Http/XMLServlet
SOAPServletSOAPServlet
Http/XMLClient
Http/XMLClient
SOAP ClientSOAP Client
WLS
JavaClientJava
Client
Business ProcessAutomation
Business ProcessAutomation
Business Objects Business Objects
Information ObjectsInformation Objects
CORBACORBA
Generic BO AccessGeneric BO Access
EJBEJB WebServicesWebServices JCAJCA
![Page 18: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/18.jpg)
Done Right
• Major long-term savings
• Can handle highly complex processes
• But not done quickly– Long Proof– Application Programmer training
How to do it quickly ???
![Page 19: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/19.jpg)
• J2EE Development 1999-2001
• The JeeWiz! Vision
• How JeeWiz! Works
• Benefits
• Next Steps
Part 2. The Java Enterprise System
Builder
![Page 20: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/20.jpg)
J2EE Development 1999-2001
• Start-up long and expensive– Architecture, PoC, Performance, Document– And finally … the application
• Constant Change - EJB1.1/2.0, JSPs, Portals
• Mixing of Infrastructure and App Development
• Complex, difficult to change
![Page 21: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/21.jpg)
J2EE Development Example
• 8 months duration, average 4 people
• Develop sample, productise, throw away
• Develop sample, productise, document
• Try to teach Application programmers– But it was really hard
• Total cost: > DM 1,000,000
![Page 22: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/22.jpg)
The JeeWiz! Vision
First Vertical Slice, Localised, in 2 Weeks
Good for small or large enterprises
![Page 23: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/23.jpg)
The JeeWiz! Vision - Goals
• Simplify for application developers
• Easier adaptation to change
• Package architectural patterns
• Reduce start-up time
• Reduce cost
• Reduce risk
![Page 24: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/24.jpg)
How JeeWiz! Works
FoundationAnt + Patterns + XML Specifications
J2EE SystemComponents and Patterns for Web Services
Application Development and Deployment
![Page 25: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/25.jpg)
JeeWiz! Foundation - Tools
• Ant - Java-based builder– more intelligence into the build process
• Velocity - pattern generator– separate patterns from application definition
• XML– the new specification and interchange language
![Page 26: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/26.jpg)
Architect
J2EE Expert
ApplicationAnalyst
ApplicationProgrammer
Assembler /Deployer
ApplicationSpecification
DeploymentDescriptions
SystemTestApp Servers
ProductionApp Servers
Unit TestApp Servers
Out-of-the-boxpatterns and
standards
Patterns +Standards
Implementation
ApplicationImplementation
Patterns +Standards
Specification
JeeWiz! Foundation - Process
![Page 27: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/27.jpg)
JeeWiz! Foundation - Patterns
entityname Account
attributename AccountID
type int
key true
public class AccountAccountPK {
public AccountPK() {} abstract public int getAccountID();abstract public int getAccountID(); abstract public void setAccountID( int i );abstract public void setAccountID( int i );
}
AccountAccountPK.java=
=
=
=
Application Specification Generated Code and Descriptors
/src/AccountAccountEJB/Directory NamingDirectory NamingFile NamingFile Naming
Java Object NamingJava Object Naming
Code generationCode generation
<entity> <ejb-name>AccountBeanAccountBean</ejb-name></entity>
Deployment Deployment descriptor descriptor generationgeneration
![Page 28: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/28.jpg)
JeeWiz! Foundation - Deployment
• Runnable WLS configuration
• Application programmer generates unit test deployment
• Assembler / deployer add overrides
• XSL-T (XML Transformations) today
• 'XMLMerge' utility tomorrow
![Page 29: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/29.jpg)
![Page 30: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/30.jpg)
JeeWiz! Foundation
• Patterns help application programmers– reduces effort– reduces complexity– reduces risk– eases maintenance– promotes standards
• Foundation can be adapted to new areas
![Page 31: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/31.jpg)
JeeWiz! J2EE Patterns
• Builds on the Foundation
• Design language for J2EE applications
• A complete set of patterns for – Web Services ...– to EJBs
• Includes deployment
• Doesn't (yet) include testing, Rational Rose
![Page 32: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/32.jpg)
Customer Benefits
• Cheaper, quicker start-up
• Improved productivity for bulk of developers
• Cheaper, quicker maintenance
• Clearer reponsibilities for personnel
• Easier to use new technologies
![Page 33: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/33.jpg)
JeeWiz USPs
• Combination of– build engine is end-to-end and adaptable– NT/e's EJB pattern– enterprise-level features for deployment
• EJB2.0 and Web Services
• No run-time overhead/cost
![Page 34: Web Services Done Right Done Quickly](https://reader035.vdocuments.us/reader035/viewer/2022062309/56813b48550346895da42f86/html5/thumbnails/34.jpg)
JeeWiz! Futures
• Automatic testing
• Integration with Rational Rose / RUP
• Documentation production
• Business Rules using EJB2.0
• JCA, integration with WLI